除了在Action中实现validate()方法外,还可以添加配置文件来实现数据校验。Action必须继承自 ActionSupport. 假设Action名为LoginAction,在Action所在包下新建LoginAction-validation.xml,校验规则写在这里。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>用户名不能为空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<param name="maxLength">6</param>
<message>用户名长度必须是4-6位</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>密码不能为空</message>
</field-validator>
</field>
</validators>
field标签 name属性指定待验证的属性,field-validator的type属性指定校验器的类型,其值 可以为: int 整数; double 实数; date 日期; expression 两数的关系比较; email Email地址; url visitor conversion regex 正则表达式验证; required 是否为空; requiredstring 必须字符; stringlength 输入字符长度限制 参考com.opensymphony.xwork2.validator.validators包下的default.xml,在xwork-core-2.X.X.jar内。 各个验证器的参数可以参考通过default.xml找到对应的类,查看成员变量的setter和getter方法。 上面的配置文件,要求用户名和密码都不为空,且用户名长度在4-6位间。 现在可以删除Action中的validate方法,测试一下,struts.xml配置不变。