Struts2国际化

struts.xml中添加<constant name="struts.custom.i18n.resources" value="messageResource"></constant>

 

添加若干properties文件,

其中文件名为类似messageResource_zh_CN.properties

                 和messageResource_en_US.properties

在其中添加键值对,如果不是ascii文字,需要使用native2ascii文件进行解码

en_US

loginPage=Login Page
errorPage=Error Page
succPage=Success Page
failTip=Sorry , you are failed to connect.
succTip=welcome {0}, you connected successfully.
user=user name
pass=pass word
login=login

 

zh_CN

loginPage=\u767b\u9646\u9875\u9762
errorPage=\u9519\u8bef\u9875\u9762
succPage=\u6210\u529f\u9875\u9762
failTip=\u5bf9\u4e0d\u8d77\uff0c\u60a8\u4e0d\u80fd\u767b\u5f55
succTip=\u6b22\u8fce\uff0c{0},\u60a8\u5df2\u7ecf\u767b\u5f55\uff01
user=\u7528\u6237\u540d
pass=\u5bc6\u7801
login=\u767b\u9646

 

然后在页面上使用s标签输出其中的内容

表单标签使用<s:textfield name="username" key="user"></s:textfield>

key的方式进行输出

非表单标签可以使用

<s:text name="failTip"></s:text>进行输出

对于传入参数的{0}要这样进行输出

s:param中的内容就是传入的参数。这里使用的是登陆页面填入的username

<s:text name="succTip">
        <s:param><s:property value="username" /></s:param>
</s:text>

 

还有一种最省事的做法就是在properties文件中使用表达式

${username},这样在拿出该键所对应的值的时候就会自动为其赋值。

Action的国际化

       其中第一个是带参数的,第二个是不带参数的。

        String text = getText("succTip" , new String[]{username});
        System.out.println(text);
        String text2 = getText("failTip");
        System.out.println(text2);

 

输入校验时获得国际化信息的方法:

1.

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

 

2.

 

  <message>${getText("name.requried ")}</message>

 

  这两种都可以

但是如果同时采用客户端校验的话,建议采用第二种,使用的是ActionSupport的getText方法,这种同时支持客户端校验。第一种不支持客户端校验,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值