本地化(Localization)(国际化)

概述

struts2框架在以下方面支持国际化(i18n):

UI标签

来源于ValidationAware接口的消息和错误(ActionSupport、ValidationAwareSupport实现了该接口)

通过动作类的getText()方法获得的文本内容(动作类继承了ActionSupport)

绑定消息的搜索顺序

1. 动作类的属性文件。该文件名与动作类的名字一样且存放在同一个包中。例如:某动作类为train.struts2.actions.SomeAction,它的默认属性文件就是/WEB-INF/classes/train/struts2/actions/SomeAction.properties。

2. 动作类所实现的各个接口(含间接实现的接口)的属性文件。例如SomeAction实现了接口SomeInterface,那么其对应的属性文件就是SomeInterface.properties。如果第1步中未找到对应的key,则会在此处进行搜索。

3. 动作类所继承的父类(含间接父类)的属性文件。如果在第2步中还未找到,则会搜索其父类的属性文件并上溯到java.lang.Object。

4. 如果动作类实现了com.opensymphony.xwork2.ModelDriven接口,则搜寻其模型对象且按照从第1步开始的搜索顺序。

5. 包属性文件。如果前面还没有找到,则搜索包里的默认属性文件(含其父包中的属性文件),该文件名为package.properties。

6. ??

7. 全局资源文件

访问消息资源文件

我们可以通过在标签中使用getText方法、text标签、i18n标签等形式访问资源文件。

使用getText方法

<s:property value=getText(some.key)/>

使用text标签

第一种:<s:text name=some,key/>

如果some.key没有找到,则显示“some.key”;若找到则显示其对应的值。

第二种:<s:text name=some,key>

默认值

</s:text>

如果some.key没有找到,则显示“默认值”;若找到则显示其对应的值。

使用i18n标签

<s:i18n name="StudentAction">

<s:text name="student.name"></s:text>

</s:i18n>

使用UI标签中的key属性

<s:textfield name="name" key="student.name"></s:textfield>


转载于:https://my.oschina.net/u/2356176/blog/469020

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值