0%

struts2 使用配置文件方式校验action数据 国际化自动切换语言

接上文,,上文直接把出错信息在xml里写死了,如果你的应用是多语言的,就没办法了。可以把错误信息写在多个不同的properties文件中,每个properties文件对应一种语言,文件内key相同,然后在validation.xml文件中的message,key属性指定key,struts2会自动根据客户端语言加载相应的properties文件。 下面以英文,中文两种语言为例: 在Action所在包下建立package_en_US.properties和package_zh_CN.properties两文件,对应英文和中文。内容分别如下:

username.invalid=username invalid\!\!

username.invalid=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A

下面的是”用户名不能为空”的unicode码。 在LoginAction-validation.xml中,把原来的

        <field-validator type="requiredstring">
            <message>用户名不能为空</message>
        </field-validator> 

修改为:

        <field-validator type="requiredstring">
            <message key="username.invalid"></message>
        </field-validator> 

最后修改浏览器语言测试。