日期:2014-05-16  浏览次数:20379 次

Struts2的国际化、配置全局资源与输出国际化信息、国际化—JSP中直接访问某个资源文件

Struts2的国际化、配置全局资源与输出国际化信息、国际化—JSP中直接访问某个资源文件

准备资源文件,资源文件的命名格式如下:

baseName_language_country.properties

baseName_language.properties

baseName.properties

其中baseName是资源文件的基本名,我们可以自定义,但languagecountry必须是java支持的语言和国家。如:

中国大陆: baseName_zh_CN.properties

美国: baseName_en_US.properties

现在为应用添加两个资源文件:

第一个存放中文:csdn_zh_CN.properties

内容为:welcome=欢迎来到传智播客

第二个存放英语(美国): csdn_en_US.properties

内容为: welcome=welcome to csdn

对于中文的属性文件,我们编写好后,应该使用jdk提供的native2ascii命令把文件转换为unicode编码的文件。命令的使用方式如下:

native2ascii  源文件.properties  目标文件.properties

配置全局资源与输出国际化信息

当准备好资源文件之后,我们可以在struts.xml中通过struts.custom.i18n.resources常量把资源文件定义为全局资源文件,如下:

<constant name="struts.custom.i18n.resources" value=csdn" />

csdn为资源文件的基本名。

后面我们就可以在页面或在action中访问国际化信息:

JSP页面中使用<s:text name=“”/>标签输出国际化信息:

<s:text name=user/>name为资源文件中的key

Action类中,可以继承ActionSupport,使用getText()方法得到国际化信息,该方法的第一个参数用于指定资源文件中的key

在表单标签中,通过key属性指定资源文件中的key,如:

<s:textfiel