六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 758|回复: 0

struts2国际化信息

[复制链接]

升级  24.67%

21

主题

21

主题

21

主题

秀才

Rank: 2

积分
87
 楼主| 发表于 2013-2-7 06:14:53 | 显示全部楼层 |阅读模式
struts2 国际化信息

1.资源文件
 
中文文件messageResource.properties
 
loginPage=登录页面username=用户名password=password 
英文文件messageResource_en_US.properties
 
loginPage=Login Pageusername=UserNamepassword=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\u9762errorPage=\u9519\u8bef\u9875\u9762succpage=\u6b22\u8fce\u9875\u9762user=\u7528\u6237\u540dpass=\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属性值,自动填充到该消息资源中。
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表