您的位置:首页 > 编程语言 > Java开发

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
<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
以上自己总结的国际化.不规范的地方请谅解!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: