Struts2中国际化的配置与使用

Struts2 中国际化的配置与使用

1. 资源文件的导入

通过配置 struts.properties 或者 struts.xml 来完成

struts.properties 的配置为:

struts.custom.i18n.resources=config.i18n.ApplicationResources-cn, config.i18n.ApplicationResources-en

多个资源文件以逗号【,】进行分割, config.i18n.ApplicationResources-cn 包含了资源文件的路径及文件名称,但不包括文件后缀名。

struts.xml 的配置为: 

<constant name="struts.custom.i18n.resources" value="config.i18n.ApplicationResources-cn,config.i18n.Global-cn"></constant>

​这两种配置方法其实是一样的,都是通过对资源文件的配置,然后在服务器启动的时候,将资源文件中的内容加载到Struts2的上下文中去。


2. Action中如何调用资源文件中的内容

在Struts2  中,因为所有的Action都继承了 ActionSupport.java 类,所以也就继承了 ActionSupport 类中的一些方法

addActionError(getText("error_code",new String[]{}));

addActionMessage(getText("message_code",new String[]{}));

其中的 getText() 方法就可以获取到 *.properties 文件中的值, 后面的 new String[]{} 可以传递一些参数到资源文件中,资源文件对应的写法如下:

warning.category.code.existed=分组编码 [{0}] 已经存在


3. 页面如何显示后台返回的错误信息

Struts2 的 s 标签可以输出后台Action返回的值,如下:

<s:actionmessage />
<s:actionerror  />
<s:fielderror />

4. 页面上如何调用资源文件中的内容

页面可以通过 Struts2 的标签来调用资源文件中的内容,如下:

<s:text name="label.menu.code"/>​

其中 label.menu.code 对应 properties 文件中的key值。


附:国际化资源文件内容格如下:

#warning
warning.category.code.notnull=分组编码不能为空
warning.category.code.existed=分组编码 [{0}] 已经存在

你可能感兴趣的:(struts2)