struts中和validator相关的一些注意事项

来源:互联网 发布:运维常用python脚本 编辑:程序博客网 时间:2024/05/01 09:13

1、 启动Tomcat出错

错误信息:Parse Error at line 6 column 16: Document root element "struts-config", must match DOCTYPE root "null".

org.xml.sax.SAXParseException: Document root element "struts-config", must match DOCTYPE root "null".

Parse Error at line 6 column 16: Document is invalid: no grammar found.

org.xml.sax.SAXParseException: Document is invalid: no grammar found.

类似这样的错误,是因为在自动产生的struts-config.xml文件中缺少DOCTYPE的定义,在<struts-config>前面一行增加这样的内容就可以了:

<!DOCTYPE struts-config PUBLIC

       "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"

       "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

另外在文件validation.xmlvalidator-rules.xml中的<form-validation>之前增加:

<!DOCTYPE form-validation PUBLIC

          "-//Apache Software Foundation//DTD Commons Validator RulesConfiguration .1.3//EN"

"http://jakarta.apache.org/commons/dtds/validator_1_2_0.dtd">

2、 Tomcat启动过程进行validator的初始化时出错:

错误信息:

org.apache.struts.validator.ValidatorPlugIn init

严重: null

java.lang.NullPointerException at rg.apache.commons.validator.ValidatorResources.internalProcessForms(ValidatorResources.java:464)

 

此时访问web会在页面出现这样的错误信息:

HTTP Status 404 - Servlet strutsController is not available


type Status report

message Servlet strutsController is not available

description The requested resource (Servlet strutsController is not available) is not available.

原因:使用的库:commons-validator.jar可能和struts不匹配。

解决办法:下载1.3.1.版的commons-validator.jar,并替换/WEB-INF/lib下的同名文件即可。下载地址:http://www.apache.org/dist/commons/validator/binaries/commons-validator-1.3.1.tar.gz

3、 validator的验证过程不生效

struts-config.xml文件的action定义中,注意要使能validation,即:validate="true",否则不执行验证过程。

原创粉丝点击