struts的校驗

大家在用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> 

   這樣才能將異常信息,展示在前臺

    測試結果:

      

    

  

發佈了36 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章