struts的校验

来源:互联网 发布:dnf一条龙网站源码 编辑:程序博客网 时间:2024/05/09 11:28

大家在用struts时候,会用到两种校验

    第一种:是以xml方式配置(基本上不用),所以不详细说明

    第二中:      

package com.asiainfo.struts.action;import com.asiainfo.struts.pojo.Group;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;public class ValidatorAction extends ActionSupport implements ModelDriven<Group>{ private Group group;      public String validator(){     return "success";     }          /* 验证数据的合法性*/      public String validateModify(){     if("".equals(group.getGroupName())){     this.addFieldError("groupName", "不能为空");     return "input";     }          if(group.getGroupNum()<0){     this.addFieldError("groupNum", "不能小于0");     return "input";     }     return "success";     }          public String modify(){     return "success";     }public Group getGroup() {return group;}public void setGroup(Group group) {this.group = group;}public Group getModel() {if(group==null){group = new Group();}return group;}}
就是在某个方法执行前,方法名加上validate,就会先执行这个方法,到这里可以做拦截,验证数据的合法性

  然后继承ActionSupport的类,里面就有addFieldError这个方法,就可以在里面加入验证的异常信息等等

    struts.xml文件的配置:

       

<action name="*_*" class="com.asiainfo.struts.action.{1}Action" method="{2}">             <result>WEB-INF/{1}/{2}.jsp</result>             <result name="input">WEB-INF/{1}/validator.jsp</result>             <result name="redirect" type="redirect">Login_main.action</result>         </action>

界面:

  

  <s:debug></s:debug>        <s:form action="Validator_modify.action" method="get">          <s:textfield label="组名" name="groupName"></s:textfield>          <s:textfield label="组人数" name="groupNum"></s:textfield>          <s:submit value="登陆"></s:submit>      </s:form>

这里用的struts自带的标签,也可以不用这个,直接用原始标签,但是,需要加入<s:fielderror></s:fielderror> 

   这样才能将异常信息,展示在前台

    测试结果:

      

    

  

0 0