java_struts2手工编写代码实现对Action中的输入数据校验

通过重写validate()方法实现,validate()方法会对Action中与execute相同签名的所有方法进行校验,当某个数据没有通过校验时,我们应该调用addFildError()方法往系统的FileError添加校验失败信息(为了使用addFiled()方法,Action可以继承ActionSupport类),如果系统的FileError包含了校验失败的信息,struts2会自动请求转发到名为input的视图(result视图)。在input视图可以通过struts2的标签<s:fielderror />显示校验失败信息。

例子:

public void validate() {
   if(!Pattern.compile("^\\w{6,10}$").matcher(this.user.getUserName()).matches()){
               this.addFieldError("userName", "用户名必须为6到10为的字母或数字或下划线!");
       }
 }

如果想对Action中指定的方法校验,则校验方法的名称validateXxxx(),其他的与上面说的差不多

例子:对象addUser()方法校验,校验方法名为

public void validateAddUser() {
  if(!Pattern.compile("^\\w{6,10}$").matcher(this.user.getUserName()).matches()){
               this.addFieldError("userName", "用户名必须为6到10为的字母或数字或下划线!");
       }
}

原文地址:https://www.cnblogs.com/hwj2wj/p/2824582.html