如何使用struts的validator提供表单验证

2025-11-01 07:19:42

1、创建一个web项目;

2、给项目添加struts支持;

3、创建一个login.jsp页面;

   <html:form action=”user.do” method=”post” focus=”user.uname”>

     <table>

       <tr>

         <td>Login:</td>

         <td><html:text property=”user.uname” />

<html:errors property=”user.uname” /><!—显示错误信息 à</td>

       </tr>

       <tr>

         <td>PassWord:</td>

         <td><html:password property=”user.upass”/>

<html:errors property=”user.upass” /><!—显示错误信息 à</td>

       </tr>

       <tr>

         <td colspan=”2″><html:submit/></td>

       </tr>

     </table>

   </html:form>

4、  创建一个继承ValidatorForm的form bean特别注意:不能重写validate()方法(如果重写了此方法就会不通过srtuts的验证);在form bean中写入属性private User user = new User();然后添加getter和setter方法;

5、创建一个Action,在struts-config.xml中配置如下:

  <action

      attribute=”userForm”

      name=”userForm”//form bean名称

      parameter=”op”//DispatchAction的处理方法名

      path=”/user” //请求的路径

      input=”/login.jsp” //输入内容的jsp路径

      validate=”true” //是否用validate验证为true

      scope=”request”//作用域为request

      type=”com.aptech.web.action.UserAction”> //Action的类型

      <forward name=”index” path=”/index.jsp” /> //一个jsp导向

    </action>

如果要使用验证那么struts-config.xml中必须填写Input=”/login.jsp”; //如果没有这句,验证没有通过后,将会无法跳转到输入页面Validate=”true”; //如果没有这句,将会不进行struts验证

6、创建资源文件并部署资源文件:在struts文件中部署资源文件:  <message-resources parameter=”com.zhangjie.struts.ApplicationResources” />1)在资源文件中写入msg.uname = user name; msg.upass = user pass;2)将validator-rules.xml中的被注释掉的东东都拷到资源文件中

7、创建validations.xml文件并配置如下:

<formset>

        <!– 定义要验证的表单 name:与要验证的表单同名–>

       <form name=”userForm”>

           <field property=”user.uname” depends=”required”>

              <arg key=”msg.uname”/>

<!—其中key对应资源文件中的msg.uname,作为表单验证errors.required中传递的参数 –>

<!—其中property的属性为userForm中的属性–>

<!—其中depends为验证类型 –>

</field>

           <field property=”user.upass” depends=”required”>

              <arg key=”msg.upass”/>

           </field>

       </form>

    </formset>

8、加载validation插件<plug-in className=”org.apache.struts.validator.ValidatorPlugIn”>

    <set-property

        property=”pathnames”

        value=”/WEB-INF/validator-rules.xml,/WEB-INF/validations.xml”/>

  </plug-in>

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢