Struts中重寫ActionForm中validate方法驗證表單

Struts中重寫ActionFormvalidate方法驗證表單
要想驗證就要先重寫驗證函數,在org.apache.struts.action.ActionForm
中有兩個驗證表單函數,分別爲
public ActionErrors validate(ActionMappingmapping,
javax.servlet.ServletRequestrequest)
public ActionErrors validate(ActionMappingmapping, javax.servlet.http.HttpServletRequestrequest)
我們重寫的需是後者:如下
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)
{
ActionErrors error = new ActionErrors();
if(username==null || "".equals(username))
{
error.add("nameError",new ActionMessage("jsp.login.name.error"));
}
if(password==null || "".equals(password))
{
error.add("passwordError", new ActionMessage("jsp.login.password.error"));
}
return error;
}
在此方法中error.add中的第一個參數爲你所要在某一個JSP頁面內所需要使用到的錯誤名稱。一個表單會有多個錯誤,當然就需要有多個不同的名稱將它們記住。ActionMessage中參數所用字符串需是在ApplicationResources.properties中記定義到Key-Value中的Key.而其中的Value纔在以後在你頁面當中顯示的錯誤提示。
除此這外,我們還需要修改一個Struts的配置文件。
<action-mappings >中的action中需要將validate屬性設置爲true,input中添寫將要顯示錯誤的頁面當然用到了表單驗證,我們就當然需要再配置一下<form-beans >全部如下
<form-beans >
<form-bean name="loginForm" type="form.LoginForm"/>
</form-beans>
<action-mappings >
<actionpath="/login" name="loginForm"
type="LoginAction"validate="true" input="/Login.jsp"/> </action-mappings>
PS<action-mapping>中的path爲從頁面接收.do操作的名稱,name爲用到的表單名稱,type爲處理此事務所用到的某一個action方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章