struts2中jsp页面国际化

来源:互联网 发布:佩贾数据 编辑:程序博客网 时间:2024/05/17 06:28

               这里我要声明,我用的工具是eclipse ee 版本的

               struts2要想实现jsp页面国际化,一共三步

第一步:(加载资源文件)要在src目录下添加三个properties文件,名字分别是message.properties、message_en_US.properties、message_zh_CN.properties

其中第一个是默认的,第二个是英文的,第三个是中文的资源文件,资源文件也可以自己命名,命名规则是:前缀名_语言_国家.properties,这些文件的内容自己创建就好,


下面会说到.当我们在eclipse中打开中文的资源文件时,我们之前写的中文编码都变成了\u4F60\u597D等unicode码,我们要想将其变成中文的,可以用一个eclipse的PropertiesEditor的插件,这里我给出我的百度云盘中的插件地址供大家下载

http://pan.baidu.com/share/link?shareid=1835180343&uk=1712298642

下载之后将links复制到eclipse的目录下也就是和启动的exe文件同目录,之后从新启动eclipse就好了

第二步:(设置常量) 我们要想在struts2中实现国际化,还要指定资源文件,struts2是通过配置常量的方式指定的

方式1:在struts.xml中添加如下代码:

在struts.xml文件中的最上面添加

<constant name="struts.custom.i18n.resources" value="message"/> 其中value中的值对应的是资源文件的前缀的统一前缀message

方式2: 在src下创建一个资源文件struts.properties中添加

struts.custom.i18n.resources=message


有些文章说这些常量如果记不住的话可以在struts的default.properties里找(可是我就没有找到,在struts2-core.jar中的org.apache.struts2包的下面就有,如果有找不到的,后来找到了,请给我留言共享一下知识,谢谢)


第三步:

用jsp标签输出国际化内容

如果要用struts2的标签输出,别忘了导入struts2的标签库<%@taglib perfix="s" uri="/struts-tags"%>

输出文本信息:<s:text name="key"/>其中key就是资源文件中的key,即资源文件中等号左边的字符串,等号前面是key,等号后面是value


这时我们就可以在浏览器中预览我们的国际化是否成功了,启动项目,然后通过浏览器的选项设置语言了,我用的火狐浏览器,打开工具--选项---内容----语言选择,将中文或者英文上移到顶部就ok了,然后刷新页面,成功了么?没有成功就给我留言或者请教其他人吧!

在UI标签上使用国际化:

传统的UI标签<s:textfield label="key"/>失败

修改:<s:textfield key="key"/>其中key的值就是资源文件中的值,成功了。

提示:1.所有的UI标签中的属性theme为simple时是不会出来的<s:textfield key="key" theme=“simple”/>,也就是不会显示前面的字符串,只有默认的theme为xhtml才可以显示

            2.所有常用的UI标签都可以使用key属性代替label属性来实现国际化比如说password标签、submit标签、textarea标签,不可以的标签大家可以查看帮助文档,我就不细说了,如果有想讨论的请留言,谢谢

支持原创,希望以后多多关注http://blog.csdn.net/caizhige123/article/details/17463019

0 0
原创粉丝点击