Struts2 国际化使用、实现

这学期在学习Java EE,也是我选择的方向。因此很感兴趣。前几天看了Struts2 实现国际化,于是今天下午便真实操作一遍。

首先我们要实现国际化,当然得建立相关语言的.properties文件。且该文件需放在classes目录下。即是eclipse的src的根目录。

struts2的命名规则是 “自定义名_语言_国别(英文字母为大写).properties”

比如:

中文简体:test_zh_CN.properties

美国英文:test_en_US.properties

其他国家的,请大家自己在网上搜索一下吧。

.properties 文件的内容形式为key=value

比如:

中文: username=用户名(这里中文要被转码为另外一种格式,才能使用。转换后为: u7528u6237u540D,eclise会自动帮你转换)

英文:username=username

写好properties文件之后。我们就需要修改struts.xml文件让其支持国际化属性,在struts标签下添加:

这里的value属性的值“test”为你的properties文件的最前面的自定义名。

然后再使用的时候,比如我想获取username的国际化属性:

或者 均可以

当然还有另外一种方法不需要在struts.xml添加语句。在jsp需要使用国际化资源的时候,添加如下:

或者

这里的name标签的test和上面的一样。需要注意的是。你每使用一次国际化资源就需要添加一个标签。

其他的使用就和一般的struts没有区别了。

然后我们可能需要手动切换语言,在jsp页面里面添加:

<a  href="doAction.action?request_locale=zh_CN"> 中文</a>
<a  href="doAction.action?request_locale=en_US">English</a>
doAction.action 为我需要显示的Action地址。
其他的就不多讲了。这个例子只是Struts2最简单的国际化实现。