表單的驗證分爲兩種:
一、驗證Action的所有方法:
1.j繼承ActionSupport;
2.重寫validate()方法;
3.匹配返回input結果;
4.顯示錯誤提示信息;
Action代碼塊:
public class LoginAction extends ActionSupport{
public String execute(){
//此處做可以做接受表單數據和數據庫的交互;
return "success";
}
@Override
public void validate() {
if(Username()== null || "".equals(Username())){
this.addFieldError("username", "用戶名不能爲空");
}
if(Password()== null || "".equals(Password())){
this.addFieldError("password", "密碼不能爲空");
}
}
}
Html代碼塊:
<s:property value="fieldErrors['username']" />
顯示錯誤提示;Struts.xml代碼塊:
<result name="input">/login.jsp</result>
放在需要驗證的package下的action方法下;
二、驗證指定Action的方法:
1.j繼承ActionSupport;
2.重寫validate()方法;(與全部驗證有區別)方法名爲:validate+方法名;例如方法名爲login,重寫的方法名爲validateLogin(),首字母大寫!!!!
3.匹配返回input結果;
4.顯示錯誤提示信息;
Action代碼塊:
public void validateIn() {
System.out.println(loginuser);
if(loginuser.getUsername()== null || "".equals(loginuser.getUsername())){
this.addFieldError("username", "用戶名不能爲空");
}
if(loginuser.getPassword()== null || "".equals(loginuser.getPassword())){
this.addFieldError("password", "密碼不能爲空");
}
}
刪除@Override;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其他的都不變;