struts2的国际化
2014-10-23 16:00
155 查看
Struts2的国际化步骤与Java的国际化步骤基本相似,只是实现更加简单。Struts2的国际化可按如下步骤进行。
1. 让系统加载国际化资源文件。有两种方式:
(1)自动加载:Action范围的国际化资源文件、包范围的国际化资源文件由系统自动加载。
(2)手动加载:JSP范围的国际化资源文件、全局范围的国际化资源文件,分别使用标签、配置常量的方式来手动加载。
2. 输出国际化。也有两种方式:
(1)在视图页面上输出国际化消息,需要使用Struts2的标签库。
(2)在Action类中输出国际化消息,需要使用ActionSupport的getText()方法来完成。
实例:
global.username=用户名:
global.reset=重置
1. getText("global.username "),使用%{}与struts2标签结合使用:
2. 使用text标签输出国际化消息,该标签可以指定一个name属性,将key指定给name。
3. 通过在表单元素中指定key属性,在其label中来输出国际化消息。
补充:text标签
text标签用于输出指定的国际化消息。该标签既可以直接输出国际化消息,也可以将国际化消息放入ValueStack中。使用该标签时可以指定如下几个属性:
(1)name:必填属性,指定国际化消息的key。
(2)searchValueStack:该属性指定国际化消息的key不存在时,是否在ValueStack中进行搜索。
(3)var:可选属性。指定了该属性后,text标签将不会输出国际化消息,而是将国际化消息以该属性指定的名称放入ValueStack中。
实例:
输出:
yyyy年MM月dd日
读取ValueStack中的值,yyyy年MM月dd日
最后一点:
资源文件,即*.properties文件中,包含key和value信息,当key中出现空格和等号的时候要用\(斜杠)进行转义。
如:
global.user\ name=用户名:
2/6/2015补充:
国际化信息的value中出现单引号,如果是通过<s:text />获取(出现在label里面),需要进行转义,而且实验得出,直接用\'还不行,需要用'('为单引号的实体);
如果是出现在message里面可以直接使用单引号,如struts验证的时候,
1. 让系统加载国际化资源文件。有两种方式:
(1)自动加载:Action范围的国际化资源文件、包范围的国际化资源文件由系统自动加载。
(2)手动加载:JSP范围的国际化资源文件、全局范围的国际化资源文件,分别使用标签、配置常量的方式来手动加载。
2. 输出国际化。也有两种方式:
(1)在视图页面上输出国际化消息,需要使用Struts2的标签库。
(2)在Action类中输出国际化消息,需要使用ActionSupport的getText()方法来完成。
实例:
global.username=用户名:
global.reset=重置
1. getText("global.username "),使用%{}与struts2标签结合使用:
<s:reset value="%{getText('global.reset')}" title="%{getText('global.reset')}" onclick="" />
2. 使用text标签输出国际化消息,该标签可以指定一个name属性,将key指定给name。
<s:text name="global.username " />
3. 通过在表单元素中指定key属性,在其label中来输出国际化消息。
<s:textfield name="username" key="global.username"/>
补充:text标签
text标签用于输出指定的国际化消息。该标签既可以直接输出国际化消息,也可以将国际化消息放入ValueStack中。使用该标签时可以指定如下几个属性:
(1)name:必填属性,指定国际化消息的key。
(2)searchValueStack:该属性指定国际化消息的key不存在时,是否在ValueStack中进行搜索。
(3)var:可选属性。指定了该属性后,text标签将不会输出国际化消息,而是将国际化消息以该属性指定的名称放入ValueStack中。
实例:
<s:text name="struts.date.format" /> <br/> <s:text name="struts.date.format" var="format" /> <br/> 读取ValueStack中的值:<s:property value="format" /> <br/>
输出:
yyyy年MM月dd日
读取ValueStack中的值,yyyy年MM月dd日
最后一点:
资源文件,即*.properties文件中,包含key和value信息,当key中出现空格和等号的时候要用\(斜杠)进行转义。
如:
global.user\ name=用户名:
2/6/2015补充:
国际化信息的value中出现单引号,如果是通过<s:text />获取(出现在label里面),需要进行转义,而且实验得出,直接用\'还不行,需要用'('为单引号的实体);
如果是出现在message里面可以直接使用单引号,如struts验证的时候,
<field name="userName"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>${getText2("errors.required",{"company.label.userName"})}</message> </field-validator> </field>
相关文章推荐
- Struts2 国际化资源表达式用法--和--properties文件转码
- Struts2国际化
- Struts2国际化乱码问题解决
- struts2:国际化
- Struts2中国际化的JAVA实现
- struts2国际化--更改浏览器默认语言环境
- Struts2(八)国际化
- 学习笔记-------------------struts2国际化
- struts2国际化开发
- Struts2 的国际化实现
- Struts2的国际化支持
- Struts2学习笔记17:Struts2的国际化
- Struts2的国际化,中英文切换
- Struts2学习(一) 国际化
- Struts2文件上传,以及上传拦截异常国际化处理
- 使用Struts2关于页面信息国际化(简单的)
- struts2配置Action范围的国际化资源文件
- Struts2学习笔记----国际化(I18N)(一)
- Struts2的国际化和访问资源文件的几种方式
- Struts2国际化