学了一阵子的struts2,感受收获挺大的。对于校验这一块内容,只有更深刻的了解,才能体会到它的灵活所在!框架
1、Action 中的自定义方法的输入校验。对于经过action的method属性所指定的自定义方法,其对应的自定义输入校验方法名为validateMyExecute(假设自定义的方法名为myExecute)。底层是经过反射来调用的。spa
2、当在Action中指定了自定义的execute方法时,首先会执行自定义的execute方法所对应的输入校验方法,而后再去执行validate方法,执行完毕后若是出现了任何错误都不会再去执行自定义的execute方法,流程转向了input这个名字所对应的页面上。xml
3、自定义Field级别的错误提示消息。资源
1)新建一个以Action名命名的properties文件,如RegisterAction.properties。input
2)而后在该属性文件中指定每个出错字段的错误消息,如:Invalid.fieldvalue.bithday= birthday invalid!!it
4、Struts2的检验框架(有效的xml文件)。具体来讲分为字段优先校验器与校验器优先校验器。io
5、校验日期时,同时采用execute()与框架校验,若时间范围不在execute()定义的时间内,而在框架定义的范围内,调用的是execute的校验;若时间同时不在它们定义的范围内,则采用的是框架校验。dva
6、对于国际化的资源文件,其命名规则是:package_语言名_国家名,例如:struts2
package_zh_CN,package_en_US配置
7、Structs2框架校验执行的前后顺序:
1)首先执行校验框架(xml文件)
2)执行自定义方法的校验方法(validateMyExecute)
3)执行validate方法
8、对于struts2.xml文件的结果配置来讲,局部要优先于全局的。
9、咱们既能够在Action中定义异常与结果,也能够定义全局的异常与结果,局部老是优先于全局的,若是定义成全局,那么能够为全部的Action所公用,而局部的异常与结果只能被当前的Action所独享,不能为其余的Action所共享。