您的位置:首页 > 编程语言 > Java开发

struts2-多国语言国际化应用过程

2016-02-04 23:44 766 查看
转自:http://blog.sina.com.cn/s/blog_6608320c0100j4n1.html

struts2-多国语言国际化应用过程:

1、新建三个.properties,分别为

A、struts.properties

内容为:struts.custom.i18n.resources=messageResource

B、messageResource_en_US.properties

C、messageResource_zh_CN.properties

说明:

1、 B、C两个文件的开头(messageResource)要和struts.properties里面定义的相同

2、 B、C里面的内容自己填写,但是key要对应

2、jsp里面的写法--部分代码

<body>

<center>

<!-- 用户登录 -->

<s:form action="login">

<s:textfield name="username" key="username"/>

<s:password name="password" key="password"/>

<s:submit align="center" key="loginSubmit"/>

</s:form>

<!-- 切换为英文 -->

<s:url id="english" action="loginLanguage">

<s:param name="request_locale">en_US</s:param>

</s:url>

<s:a href="%{english}">English</s:a>

<!-- 切换为中文 -->

<s:url id="chinese" action="loginLanguage">

<s:param name="request_locale">zh_CN</s:param>

</s:url>

<s:a href="%{chinese}">中文</s:a>

</center>

</body>

3、配置struts.xml

<package name="default" extends="struts-default">

<!-- 语言切换的action 直接通过jsp页面来跳转是没有效果的-->

<action name="loginLanguage">

<result>/moreLanguage.jsp</result>

</action>

</package>

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

转自:http://blog.sina.com.cn/s/blog_6608320c0100j3v8.html

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>

显示出来的结果是一样的

第七步:发布工程,在页面查看中文是否乱码,并且更改浏览器的语言看能否显示英文(我上面用的是英文和中文)

如果中文不乱码,英文也能显示,说明您测试成功了!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: