struts2国际化信息

 

1.资源文件

 

中文文件messageResource.properties

 

Java代码    收藏代码
  1. loginPage=登录页面  
  2. username=用户名  
  3. password=password  

 

英文文件messageResource_en_US.properties

 

Java代码    收藏代码
  1. loginPage=Login Page  
  2. username=UserName  
  3. password=Password  

 

2.编码资源文件

 

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

 

Java代码    收藏代码
  1. cd/d e:/  
  2. native2ascii -encoding gb2312 messageResource.properties messageResource_zh_CN.porperties  

 

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

 

Java代码    收藏代码
  1. loginPage=\u767b\u5f55\u9875\u9762  
  2. errorPage=\u9519\u8bef\u9875\u9762  
  3. succpage=\u6b22\u8fce\u9875\u9762  
  4. user=\u7528\u6237\u540d  
  5. pass=\u7528\u6237\u5bc6\u7801  

 

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

 

其中:

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

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

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

 

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

 

3.配置struts

 

struts.xml里配置如下:

 

Xml代码    收藏代码
  1. <constant name="struts.custom.i18n.resources" value="messageResouce" />  

 

4.显示

 

jsp中显示如下:

 

Xml代码    收藏代码
  1. <s:i18n name="messageResource"><s:text name="loginPage"/></s:i18n>  

  or

 

Xml代码    收藏代码
  1. <s:i18n name="messageResource"><s:property value="%{getText('loginPage')}"/></s:i18n>  

 

or

 

<s:text name="loginPage"/>
 

 

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

 

资源文件:loginPage= loginPage {0}

 

jsp显示如下:

 

Xml代码    收藏代码
  1. <s:i18n name="messageResource">  
  2.    <s:text name="loginPage">  
  3.      <s:param>test</s:param>  
  4.    </s:text>  
  5.  </s:i18n>  

 

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

 

Xml代码    收藏代码
  1. loginPage=${username},欢迎你  

 

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

 

你可能感兴趣的:(struts)