Struts2自定义验证器实现方法详解

Struts2 的自定义验证程序挺灵活的,尤其是你遇到那些内置验证器搞不定的业务逻辑时,用它真的省事。只要实现下 Validator 接口,再写好自己的 validate 方法,在配置里注册一下,整个流程就跑起来了。你甚至可以加点正则判断、远程调用、数据库比对这些花活,照样能搞定。

Struts2 内建的验证器像 RequiredStringValidatorIntegerRangeValidator 这些,日常用还不错,但真要点复杂的用户输入,比如校验用户名不能重复,或者按公司业务来校验表单字段,就得上自定义的。

自定义的第一步是实现 Validator 接口,它里面的 validate 方法就是你写验证逻辑的主场了。

举个例子,你想让用户只能输英文名,那就可以写成这样:

public class CustomValidator implements Validator {
  @Override
  public void validate(String object) throws ValidationException {
    if (!object.matches("[a-zA-Z]+")) {
      throw new ValidationException("输入不符合规定格式");
    }
  }
}

一步,别忘了在 struts.xml 里注册一下这个验证器,用 标签指一下类名,就能用了。配置一次,到处都能复用,挺方便的。

如果你项目里有些验证逻辑重复率高,又不好抽取到前端,不妨把它封装成一个自定义验证器。这样写一次、用 N 次,开发效率也能拉满。

txt 文件大小:7.73KB