第十一章 Struts 2的国际化
1 国际化简介
http协议,request_locale值
Locale类àà封装类request_locale值
ResourcesBandleàà资源文件与Locale对象的
properties
2 Struts 2国际化的实现步骤
1 编写国际化资源文件,文件名:name_语言标识_国家或地区标识.properties
2 注册国际化文件在Struts2.xml文件中,添加常量,格式:
<constant name=”struts.coston.i18n.resources” value=”国际化文件名(name部分)” />
3 在页面中利用<s:text >获取国际化文件中的显示信息 格式:
<s:text name=”国际化资源文件中的健”>
注意:若使用校验框架,则校验信息的国际化由校验文件内<message>标记设定格式:
<message key=”国际化资源文件中的键”></message>
若使用validate()方法则校验信息的国际化由addFieldError()方法设定 格式:
addFieldError(“字段名”,“国际化资源文件中的键“);
若显示信息由程序控制则信息需使用addActionMessage(“国际化的键”);或addActionError(“国际化键”);在页面中通过<s:properties value=”%{getText(‘键’)}”/>进行显示
3 Struts 2 国际化文件作用域
1 分类
a.全局范围
1) 位置:src目录下
2) 文件名:标准格式
3) 作用域:整个应用
b.包范围
1) 位置:包目录
2) 文件名:pack_语_国/地.properties
3) 作用域:包目录下
c.Action范围
1) 位置:Action类中同一目录
2) 文件名:ActionName_语_国/地.properties
3) 作用域:仅限于一个Action请求
d.临时范围
1) 位置:不限制
2) 文件名:标准格式
3) 作用域:<s:i18N name=”文件名”>
国际化部分
</s:i18N>
4 手动选择国际化
自行传递 request_local
基本方式
<a href=”xxx.action?request_loacl=cn_US”>英文</a>
ActionContext类
Setlochange(name
session
5 国际化文件中的占位符
格式 :{0},{1}….
占位符内容替换 <s:text …>
<s:param>
<s:propertiy value=”值”>
</s:param>
</s:text>