`

struts2国际化信息

阅读更多

struts2 国际化信息

1.资源文件

 

中文文件messageResource.properties

 

loginPage=登录页面
username=用户名
password=password

 

英文文件messageResource_en_US.properties

 

loginPage=Login Page
username=UserName
password=Password

 

2.编码资源文件

 

dos下进入中文文件messageResource.properties所在的目录如E盘根目录下

 

cd/d e:/
native2ascii -encoding gb2312 messageResource.properties messageResource_zh_CN.porperties
 

最终在E盘根目录下生成已编码的messageResource_zh_CN.properties文件,内容如下:

 

loginPage=\u767b\u5f55\u9875\u9762
errorPage=\u9519\u8bef\u9875\u9762
succpage=\u6b22\u8fce\u9875\u9762
user=\u7528\u6237\u540d
pass=\u7528\u6237\u5bc6\u7801
 

将这个文件和英文文件放到src目录下,也即全局资源文件。

 

其中:

全局资源文件:将资源文件放在src目录下,全局均可使用,命名为:baseName_语言名_国家名.properties

包资源文件:将资源文件放在某个包下,只允许这个包使用,命名为:包名_语言名_国家名.properties

类资源文件:将资源文件放到与类同一目录下,只允许该类使用,命名为:类名_语言名_国家名.properties

 

优先级:类资源文件 > 包资源文件 > 全局资源文件

 

3.配置struts

 

struts.xml里配置如下:

 

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

 

4.显示

 

jsp中显示如下:

 

<s:i18n name="messageResource"><s:text name="loginPage"/></s:i18n>

  or

 

<s:i18n name="messageResource"><s:property value="%{getText('loginPage')}"/></s:i18n>
 

5.带有占位符的国际化信息

 

资源文件:loginPage= loginPage {0}

 

jsp显示如下:

 

   <s:i18n name="messageResource">
      <s:text name="loginPage">
        <s:param>test</s:param>
      </s:text>
    </s:i18n>
 

 代替占位符,不需要在jsp显示时输入参数的方法:

 

loginPage=${username},欢迎你

 

在上面的消息资源中,通过使用表达式,可以从ValueStack中取出该username属性值,自动填充到该消息资源中。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics