Struts2中validate数据校验的两种常用方法

 1.Action中的validate()方法

Struts2提供了一个Validateable接口,这个接口只有一个valudate()方法,只要类实现此接口name可以直接被Struts2调用,ActionSupport类就实现了Validateable接口,但是它并没有重新validate()方法.

validate()方法会在execute方法执行前执行,去进行一些数据检验,当且仅当数据校验正确的时候才会去执行execute()方法,如果错误则将错误添加到filedErrors域中.但是问题是如果一个action中有多个逻辑处理方法,且不同的处理逻辑需要不同的校验规则,但是validate会对所有的处理逻辑使用相同的检验规则,为了解决这一问题,需要我们使用validateXxx()方法,其中Xxx表示处理逻辑的方法名.

Action类:

public class LoginAction extends ActionSupport{ private static final long serialVersionUID = 1L; private String userName; private String userPassword; public String execute(){ System.out.println("execute"); return SUCCESS; } public String login(){ System.out.println("login"); return SUCCESS; } public void validate(){ System.out.println("validata"); } public void validateLogin(){ System.out.println("validatelogin"); if(!(userName.equals("sbw") && userPassword.equals("123"))){ addFieldError("error","wrong info"); } } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; }public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwpsy.html