- 论坛徽章:
- 0
|
struts中应用validator框架验证应注意的一个地方
这几天一直都比较郁闷,而大多数的郁闷是因为在struts中引入了validator框架来进行验证所引起的,虽然这个郁闷最终在今天被我彻底驱走了。
现在就来谈谈我郁闷的地方,关于如何配置来将validator框架引入
struts中这点不是我郁闷的地方,这个在网上也都有很好的资料,
http://apin.xhschool.com/archives/2005/4495.shtml
这个链接中谈的就很好。
我谈的是经过以上正确的配置后,却仍然出现不了想要的效果,在控制台中出现如下:
org.apache.struts.validator.FieldChec
ks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorActi
on, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, j
avax.servlet.http.HttpServletRequest)之类的错误信息的问题。
这个错误的原因是因为所使用的struts.jar与WEB-INF下的validator-rules.xml版本不一样而引起的,比如你使用的struts.jar包是最新的1.2.8(笔者今天刚下载的最新版本),而你的validator-rules.xml文件却是对应struts1.1或者更低版本的,如何知道validator-rules.xml的版本低呢?我们可以从validator-rules.xml中的开始几行可以看出来,如下所示:
以上的版本为validator_1_1_3.dtd,是目前validator-rules.xml最高的版本,对应的struts。jar包也是比较高的,为1.2及以上的版本,在笔者为这个问题处于郁闷中时,使用的struts.jar为1.2以上,但是我使用的validator-rules.xml为validator_1_1_0.dtd,所以总是出现我上面说的那个错误信息,后来俺换了个版本低的struts.jar,结果验证可以成功,但是由于我的系统只能使用高版本struts的,所以没有办法,我只好去下了个高版本的validator-rules.xml,才最后把问题解决。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/20045/showart_186457.html |
|