最近在学习Struts2,把自己学习过程中遇到的问题记录一下,方便以后查看
Q:Struts2 验证框架validation.xml 配置不生效
今天把validation.xml配置好了,却发现验证不生效,网上查了下资料,最后发现是以下的第二点原因,也把其它会出错的原因总结了下(使用struts2的validation.xml进行验证时,需要注意如下几个方面,任何一个错误都会导致校验框架不生效):
1、首先应该注意validation.xml的名字,一定要以Action的类名加“-validation.xml”作为文件名,如LoginAction-validation.xml。
如果只对LoginAction中某一个方法进行校验,那么需要再加上方法名,如LoginAction-update-validation.xml 是对
LoginAction 中的 update 方法进行校验
2、LoginAction-validation.xml文件必须与Action类放在相同的目录下(以后一定要注意了!)
3、validation.xml文件中的<field-validator type="">标签的type属性,必须与VO(value object)中定义的属性的数据类型相同
4、在struts.xml文件中的<action>标签中,必须包含<result name="input">和<result name="success" >,否则会报找不到result的错误。 validation.xml校验不通过后,会默认返回 input所在 页面(犯过这个错误,找了两个小时错误没找到)