首页 > 代码库 > strut2 国际化
strut2 国际化
struts2 国际化分为:前台 页面国际化,Action类国际化,配置文件国际化。
- 首先制定全局国际化资源文件,在struts2.xml中加入一个常量配置:<constant name="struts.custom.i18n.resources" value=http://www.mamicode.com/"message"></constant>
- 国际化资源文件的名字规则:
xxx_语言_国家.properties
message_zh_CN.properties(简体中文资源文件)
message_en_US.properties(美国英语资源文件)
(1)前台页面国际化
(1).JSP页面上的国际化(使用struts2的<s:text .../>):
Html代码:
<s:i18n name="message"> <s:text name="hello"> <s:param>${username}</s:param> </s:text> </s:i18n>
message_en_US.properties文件配置:
hello=hello world,{0}
message_zh_CN.properties文件配置:
hello=你好,{0}
(2)表单元素的Label国际化:
未国际化:
<s:textfield name="username" label="username"></s:textfield> <s:textfield name="password" label="password"></s:textfield>
国际化后:
<s:textfield name="username" key="uname"></s:textfield> <s:textfield name="password" key="pword"></s:textfield>
message_en_US.properties文件,配置:
uname=username
pword=password
message_zh_CN.properties文件,配置:
uname=用户名
pword=密码
(3).Action中的国际化:
未国际化:
this.addFieldError("username", "the username error!");
this.addFieldError("password", "the password error!");
国际化后:
this.addFieldError("username", "username.error");
this.addFieldError("password", "password.error");
message_en_US.properties文件配置:
username.error = the username error !
password.error = the password error!
message_zh_CN.properties文件配置:
username.error=用户名错误!
username.error=密码错误!
(4).配置文件中的国际化:
以输入校验的LoginAction-validation.xml为例:
未国际化:
<field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>username should not be empty!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">12</param> <message>username should be between ${minLength} and ${maxLength}!</message> </field-validator> </field>
国际化后:
<field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message key="username.empty !"></message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">12</param> <message key="username.size"></message> </field-validator> </field>
message_en_US.properties文件配置:
username.empty = the username should not be empty !
username.size = the size of username shoule be between 6 and 12 !
message_zh_CN.properties文件配置:
username.empty =用户名不能为空 !
username.size = 用户名长度在6到12 !
strut2 国际化