struts2国际化实现过程(解决中文乱码)

struts2的国际化实现过程--刚开始写的时候按照网上说的那样配置完,结果一测试,乱码。然后
       自己在网上查了很多关于struts2国际化乱码的文章,写的都不全面,比如native2ascii.exe在哪里都没有说明
       后面摸索了一下,终于不乱码了。写下这篇文章方便自己和大家以后查看


第一步--有两种方法
       A、在src下面新建一个struts.properties,加入里面的内容为:
                     struts.custom.i18n.resources=messagesource
                     其中:struts.custom.i18n.resources为固定的,
                        messagesource为自己定义的

         B、struts.xml里面添加
       <constant name="struts.custom.i18n.resources" value="messagesource"></constant>

A、B两种方法都能达到同样的效果(我亲自测试过)



第二步:
       在src下面新建一个messagesource_en_US.properties,其中messagesource为第一步中自定义的名称,
       加入里面的内容为您自己想要的内容,如:
       HelloWorld=Hello World!
       username = user name


第三步:
       在src下面新建一个messagesource_zh_CN.properties,其中messagesource是第一步中自定义的名称,
       加入里面的内容为第二步里面英文翻译后的中文(其他语言也可以,主要是达到一一对应),如
       HelloWorld=您好,世界!
       username = 用户


第四步:
       把messagesource_zh_CN.properties重新复制一份并重命名为messagesource.properties,
       把重命名后的messagesource.properties放到web-inf文件下面


第五步:中文转码
       找到jdk的安装目录--D:\Program Files\Java\jdk1.6.0_10\bin(我的安装目录)
               在bin里面找到native2ascii.exe并运行
               在命令窗口输入
       native2ascii -encoding UTF-8  messagesource.propertis messagesource_zh_CN.propertis

       这个命令的意思是,用utf-8对messagesource.propertis进行转码,转码后保存到messagesource_zh_CN.propertis文件



第六步:在jsp页面显示国际化语言--这里用两种方法得到国际化语言并显示
               <h2><s:text name="HelloWorld"/></h2>
               <h2><s:property value="%{getText('HelloWorld')}"/></h2>

                    显示出来的结果是一样的


第七步:发布工程,在页面查看中文是否乱码,并且更改浏览器的语言看能否显示英文(我上面用的是英文和中文)
               如果中文不乱码,英文也能显示,说明您测试成功了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值