在初学strut2-validate内置校验的时候,很多人肯定遇到过校验不成功的情况,尤其是建立内置校验器[classname]-[validation].xml文件的时候。
下面针对我个人遇到出错原因的两个解决方法来写:
1.内置校验器validation.xml头部声明定义错误:
这个是原来的老的头部声明:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
由于struts2包版本不断的更新,有可能导致上面的定义失效,所以你可以换成下面的头部声明试试:
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
这个是比较新的头部定义,1.0.2.dtd代表版本,或许以后升级还需要改进数值如1.0.x
2.struts2-core包没有重新生成:
如果上述第一种方法试过后发现无效可以重新导入struts2-core包,具体步骤如下:
右键项目——>Build Path——>Configure Build Path,然后libraries下把struts2-core包删除,再Add JARs导入你项目lib下的struts-core包,确定即可。