Struts2 国际化
2015-07-20 09:14
423 查看
1.配置国际化资源文件
I.Action范围资源文件:命名形式 ActionName_language_country.properties
II.包范围资源文件: 命名形式 package_language_country.properties 一旦建立该包下的所有Action都可以访问
III. 全局资源文件(推荐使用) :
命名形式 basename_language_country.properties
struts.xml
IV.国际化资源文件的加载顺序? –离Action范围近的资源文件先被加载
2.如何在页面上和Action类中访问国际化资源文件的value值
I. 在Action中继承 ActionSupport 类实现 TextProvider 接口,调用 getText(); 获取value值
II.在页面上,可以使用 s:text 标签 ; 对于表单标签,可以使用表单标签的 key 属性值对应资源文件
如果有占位符 , 可以使用 s:text 标签的 s:param 来填充!
可以利用标签和OGNL表达式 , 访问值栈(对象栈 Map栈)
非simple主题建议直接用 key , 也可以用label属性,但是需要进行 强制ognl解析 (%{getText(‘username’)}).
simple主题下 , key属性失效 , 需要用 s:text 标签来实现 , 其 name 属性 可以寻找资源文件对应的值
3.实现通过超链接切换语言
request_locale属性值有 en_US zh_CN分别代表英文中文,带参数到action以后 会自动检测.流程如图:
![](http://img.blog.csdn.net/20150720091254136)
这样的话,即使切换完中英文执行其他跳转也不会变会原来的状态,因为已经存到了session中
自己总结的Demo http://download.csdn.net/download/a_novice_programmer/8914915
以上自己总结的国际化.不规范的地方请谅解!
I.Action范围资源文件:命名形式 ActionName_language_country.properties
II.包范围资源文件: 命名形式 package_language_country.properties 一旦建立该包下的所有Action都可以访问
III. 全局资源文件(推荐使用) :
命名形式 basename_language_country.properties
struts.xml
<constant name="struts.custom.i18n.resources" value = "baseName" />
IV.国际化资源文件的加载顺序? –离Action范围近的资源文件先被加载
2.如何在页面上和Action类中访问国际化资源文件的value值
I. 在Action中继承 ActionSupport 类实现 TextProvider 接口,调用 getText(); 获取value值
II.在页面上,可以使用 s:text 标签 ; 对于表单标签,可以使用表单标签的 key 属性值对应资源文件
如果有占位符 , 可以使用 s:text 标签的 s:param 来填充!
可以利用标签和OGNL表达式 , 访问值栈(对象栈 Map栈)
非simple主题建议直接用 key , 也可以用label属性,但是需要进行 强制ognl解析 (%{getText(‘username’)}).
simple主题下 , key属性失效 , 需要用 s:text 标签来实现 , 其 name 属性 可以寻找资源文件对应的值
3.实现通过超链接切换语言
testI18n.action?request_locale=en_US
request_locale属性值有 en_US zh_CN分别代表英文中文,带参数到action以后 会自动检测.流程如图:
这样的话,即使切换完中英文执行其他跳转也不会变会原来的状态,因为已经存到了session中
自己总结的Demo http://download.csdn.net/download/a_novice_programmer/8914915
以上自己总结的国际化.不规范的地方请谅解!
相关文章推荐
- The import java.util cannot be resolved
- java synchronized用法
- eclipse解决editor does not contain a main type的方法
- eclipse常用的快捷键
- java中的构造方法的使用及作用分析
- 《深入浅出struts2》--第一章,Model2应用程序
- Eclipse中安装Genymotion插件解决方案
- java导出excel表格,Struts2配置
- springmvc批量文件打包成zip下载功能
- Java多线程之生产者消费者模式
- java并发编程第五章(1) 创建Fork/Join线程池
- 转:java提取图片中的像素
- Java本地文件操作
- JAVA基础-反射
- ——JAVASE-IO流(下)
- JAVA String
- ——JAVASE-IO流(上)
- openjdk源码下载
- Java并发编程实战(使用synchronized实现同步方法)
- eclipse连接hbase异常KeeperErrorCode = ConnectionLoss for /hbase/meta-region-server