欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

struts2国际化信息

程序员文章站 2022-03-03 12:48:30
...

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属性值,自动填充到该消息资源中。