struts2表单验证-整合国际化

参考:http://www.cnblogs.com/langlang/archive/2010/01/14/1647627.html

1、Action重写validate方法

    public void validate(){
        if("".equals(sysUser.name)||!sysUser.name.equals("java")){
        //    this.addFieldError("sysUser.name",this.getText("username.invalid"));
            this.addActionError(this.getText("username.invalid"));
        }
        if("".equals(sysUser.userPwd)||!sysUser.userPwd.equals("java")){
        //    this.addFieldError("sysUser.userPwd",this.getText("userpwd.invalid"));
            this.addActionError("<div class='test'>" + this.getText("userpwd.invalid") + "</div>");
        }
    }

2、jsp  

        <s:form action="sysUser/userLogin.action" method="post" theme="simple">
             <s:textfield name="sysUser.name" label="%{getText('userNameTag')}"></s:textfield>
            <s:password name="sysUser.userPwd" label="%{getText('passWordTag')}"></s:password>
            <s:submit value="%{getText('loginTag')}" ></s:submit>
        </s:form>
        <%--  <div>
             <s:fielderror>
                 <s:param>sysUser.name</s:param>
                 <s:param>sysUser.userPwd</s:param>
             </s:fielderror>
         </div> --%>
         <s:actionerror escape="false"/>

这里主要介绍addActionError()addFieldError ():

这两个都是com.opensymphony.xwork2.ActionSupport类下的方法.

----------------------------------------------------------------------------------

addActionError(StringanErrorMessage)

添加一个Action级别的错误消息到Action

anErrorMessage:错误消息

显示消息的标签是:<s:actionerror/>  ,显示全部的 Action级别的错误消息,可以加CSS

anErrorMessage被存放在List中. 可以去看源码

----------------------------------------------------------------------------------

addFieldError(StringfieldName, StringerrorMessage)

给一个字段(属性) 添加错误消息

fieldName:字段(属性)名

errorMessage:错误消息

errorMessage被存放在一个Map中. 可以去看源码 

显示消息的标签是:

<!-- 例子 1 -->

<s:fielderror/>  显示全部的 错误消息(用addFieldError方法添加的 )

<!-- 例子 2 -->

<s:fielderror theme="" fieldName="fuwuId"/>

<!-- 例子 3 -->

<s:fielderror>

<s:param>field1</s:param> 显示指定的field1字段的 错误消息

<s:param>field2</s:param> 显示指定的field2字段的 错误消息

</s:fielderror>

 

修改主题:<s:formtheme="simple"> 不能显示错误信息,不能自动添加表格排版

总结:由于struts2的表单验证会有默认样式,所以我们可以先设置formthem=“simple”全掉默认样式。

然后用addActionError进行表单验证。(可以添加html、css代码到参数中)

posted @ 2014-01-05 16:41  FnuJava  阅读(211)  评论(0编辑  收藏  举报