struts2之国际化

struts2国际化
理解:我们一次编写的东西,当浏览器中的语言呈现的是中文时,显示中文提示信息。浏览器中的语言是英文时,显示英文提示信息。

国际化文件名都有这样的部分(_en_US.properties),其中en表示:适合向用户显示的语言环境语言名。US表示:适合向用户显示的语言环境国家/地区名的两字母简写。

笔记会记录四方面的国际化(页面的国际化,输入校验的国际化)

一:页面国际化

看一下标签:

<s:text name="addUser"></s:text>

其中标签对<s:text></s:text>提示文本信息会国际化,属性name则是说明会用到的全局属性文件(message_en_US.properties)中的key,
message_en_US.properties内容如下:
addUser = Add User Information

当然名字message_en_US中的message可以随便写,
只需要在struts中配置一下,如下(注意这样配置的是全局的实行文件):

<constant name="struts.custom.i18n.resources" value="message"></constant>


这样页面输出信息的国际化就完成了:
1:协商标签对<s:text name="addUser"></s:text>
2:新建属性文件message_en_US.properties和message_zh_CN.properties
3:在struts中注册属性文件名message


二:输入校验国际化

定义俩文件RegisterAction_en_US.properties
内容(username.xml.invalid =RegisterAction information)
和RegisterAction_zh_CN.properties
内容(username.xml.invalid =\u7C7B\u7EA7\u522B\u63D0\u793A\u4FE1\u606F)

两个属性文件都是局部属性文件,和action所在的包同属于src
我们在教研框架中运用如下:

<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="username.xml.invalid"></message>
</field-validator>
</field>

里面的message标签中的key就是属性文件中的key

我们还可以直接在action文件中的validate方法中,直接通过调用ActionSupport类的getText方法实现国际化,
如下:

this.addActionError(this.getText("username.invalid"));

解释:里面的getText方法本身是实现国际化的,所以里面可以直接调用全局属性文件中定义的key(username.invalid)


三:页面指定调用特定的属性文件

<s:i18n name="temp">
<s:text name="hello"></s:text>
</s:i18n>

属性文件temp_en_US.properties可以放在源文件目录的任意位置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值