struts2对各国的语言也有较好的支持,从而达到了国际化(i18n)的效果,便于编程者使用。
当使用校验框架进行校验时,我们通常都把message写在属性文件中。比如我们想输出“username invalid”的中英文,这时在action包下建两个properties文件,一个命名为:package_zh_CN.properties,里面填写的是username.invalid=\u7528\u6237\u540d\u4e0d\u5408\u6cd5(用户名不合法),另一个命名为:package_zh_CN.properties,里面填写的是username.invalid=username invalid.
RegisterAction-validation.xml:
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>username can't be null</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<param name="maxLength">6</param>
<message key="username.invalid"></message>
</field-validator>
</field>
<field name="birthday">
<field-validator type="date">
<param name="min">2005-1-1</param>
<param name="max">2007-12-31</param>
<message>Birthday should be in 2005-1-1~2007-12 -31</message>
</field-validator>
</field>
</validators>