struts2手工编撰代码实现输入校验

struts2手工编写代码实现输入校验

 

通过重写validate()或validateXxx()方法实现, validate()方法会校验action中所有与execute方法签名相同的方法。 validateXxx()只会校验action中方法名为Xxx的方法。其中Xxx的第一个字母要大写。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息

 

validate()使用例子:

@Override

public void validate() {

          if(username==null && "".equals(username.trim()))  this.addFieldError("username", "用户名不能为空");

}

validateXxx()方法使用例子:

public String add() throws Exception{

return "success";

}

public void validateAdd(){

          if(username==null && "".equals(username.trim()))  this.addFieldError("username", "用户名不能为空");

}

 

验证失败后,请求转发至input视图:

<result name="input">/WEB-INF/page/addUser.jsp</result>


在addUser.jsp页面中使用<s:fielderror/>显示失败信息。