Ø 校验框架的配置流程
在action文件夹下添加配置文件 ActionName-validation.xml文件,将头文件拷贝至该文件。在里面添加
<validators> <field name=”变量名”> <field-validator type=””> <param name=”参数名” >参数值</param> <message>提示信息</message> </field-validator> </field> </validators>
Ø Struts2依据校验框架的信息也为我们提供了客户端的校验,使用的方法是:在form表单的属性里,将validate属性设置为true,同时其theme属性一定不能为simple
n 但是这样做也存在一定的局限性,比如修改麻烦,形势比较死板,所以建议不要试用;
n 一般项目中的客户端校验采用JavaScript实现
Ø 在用校验框架的时候,有这么一种情况:Action里面有不同的业务逻辑方法,不同的业务逻辑需要不同的校验,怎么处理?
我们可以使用局部校验配置文件来搞定,在Action文件夹下建立名字为:ActionName-method-validation.xml的文件,即可。
Ø Struts2提供两种形式的校验:字段检验和非字段校验,一个字段优先,另一个校验器优先,其实在底层上是一样的。
Ø 短路:在字段检验中 <field-validator>标签中有一个属性是short-circuit 将其值置为true,当一个校验器没有通过校验时不再执行其他的校验。
Ø 当全局校验和局部校验都存在的时候,先执行的是全局校验,在执行局部校验。一般情况下最好不要出现这样的情况
Ø 如果同时使用校验框架和validate方法验证的话,先试用校验框架进行验证,再用validate方法验证,并且错误信息不会被覆盖。
Ø 真正存放fielderrors的是一个LinkedHashMap。其key是String型的,value是ArrayList型的。