struts系列:校验(三)国际化

一、设置国际化资源标识

struts可以通过request_locale参数来进行国际化参数设置

例如页面可以通过如下链接完成语言切换:

<s:a href="locale.action?request_locale=en_US" >English</s:a>
<s:a href="locale.action?request_locale=zh_CN" >Chinese</s:a>

这个参数传递到action后,存放在ActionContext.getContext().getSession().entrySet()中,key为WW_TRANS_I18N_LOCALE,

这里有一个小疑问:这个value用ActionContext.getContext().getSession().get("WW-TRANS-I18N-LOCALE")方法获取不到,但是遍历这个entrySet的时候确实是存在的。

 

二、检验信息国际化

和其他国际化资源是一样的, 

资源文件名_en_US.properties

form.user.null=user name can not be null 

  资源文件名_zh_CN.properties

form.user.null=用户名不能为空

 

三、校验文件

1. 常规描述

<field name="name">
        <!--指定使用的验证器,此处选择非空验证 -->
        <field-validator type="requiredstring">
            <!--验证失败的错误提示信息 -->
            <message key="form.user.null"></message>
        </field-validator>
    </field>

2. 范围参数描述

 <field-validator type="stringlength">
            <param name="minLength">6</param>
            <param name="maxLength">8</param>
            <message key="form.password.length"/>
        </field-validator>

2.1 此时对应国际化文件的写法如下:

 form.password.length=\u5BC6\u7801\u957F\u5EA6\u4E0D\u80FD\u5C11${1} ~ ${2}\u4F4D
 form.password.length=password length is ${1} ~ ${2}

 

posted @ 2018-07-17 22:59  一沙世界  阅读(166)  评论(0编辑  收藏  举报