velocity+struts1国际化
来源:互联网 发布:国进民退 知乎 编辑:程序博客网 时间:2024/06/08 01:27
1、web.xml中制定加载ActionServlet
<servlet><servlet-name>ServletAction</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet>
2、struts-config.xml中制定资源文件名
<!DOCTYPE struts-config PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN""http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config><message-resources parameter="msg"></message-resources></struts-config>
3、编写资源文件,如:msg_zh_CN.properties和msg_en_US.properties
4、velocity-tools配置文件tools.xml添加
<tool key="msg" class="org.apache.velocity.tools.struts.MessageTool"/>
5、在页面中引用:
$msg.error
另外一种使用velocity做国际化的方式是直接使用velocity-tool中自带的ResourceTool类
1、在velocity-tools配置问加你tools.xml添加:
<tool key="msg" class="org.apache.velocity.tools.generic.ResourceTool" bundles="msg"/>2、编写资源文件,如:msg_zh_CN.properties和msg_en_US.properties
3、在页面中引用:
$msg.error
使用ResourceTool完成语言的手动切换:
经调试,ViewToolContext类中的putToolProperties会对locale进行设定
protected void putToolProperties() { putToolProperty(REQUEST, getRequest()); if (this.getRequest() != null) { super.putToolProperty(LOCALE_KEY, getRequest().getLocale()); } putToolProperty(RESPONSE, getResponse()); putToolProperty(SESSION, getSession()); putToolProperty(SERVLET_CONTEXT_KEY, getServletContext()); putToolProperty(PATH_KEY, ServletUtils.getPath(getRequest())); }
略作修改:
protected void putToolProperties() { putToolProperty(REQUEST, getRequest()); if (this.getRequest() != null) { String lang = (String)this.getRequest().getSession().getAttribute(LANG_KEY); if (lang != null && !"".equals(lang)) { String locales[] = lang.split("_"); super.putToolProperty(LOCALE_KEY, new Locale(locales[0], locales[1])); } else { super.putToolProperty(LOCALE_KEY, getRequest().getLocale()); } } putToolProperty(RESPONSE, getResponse()); putToolProperty(SESSION, getSession()); putToolProperty(SERVLET_CONTEXT_KEY, getServletContext()); putToolProperty(PATH_KEY, ServletUtils.getPath(getRequest())); }
在页面将要设置的locale通过servlet设置到session中即可
- velocity+struts1国际化
- struts1国际化
- struts1和Velocity整合
- Struts1和Velocity整合
- velocity国际化配置
- Struts1.x 国际化
- Struts1国际化小结
- struts1.3的国际化
- Struts1实现登陆国际化
- struts1的国际化原理
- struts1.2国际化
- struts1.x的国际化
- Struts1.2国际化实例
- Struts1之国际化(一)
- Struts1国际化小结
- STRUTS1.X的国际化
- struts1.x的国际化
- struts1.x国际化
- C#雪花飘研究和学习
- youku网视频地址获取原理
- pop
- SSJ中出现如下几个错误信息:
- 迅雷看看去广告补丁
- velocity+struts1国际化
- 【最大流+Dinic+Edmonds_Karp+二分匹配】北大 poj 1698 Alice's Chance
- Application,Session,Cookie,ViewState,Cache对象用法、作用域的区别
- JSP开发转义自定义标签
- PHP的webservice
- Ajax 简单示例
- 百度编辑器,Ueditor,C#上传文件
- asp.net页面调用后台类方法
- asp.net获取远程数据