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.xml和validator-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",否則不執行驗證過程。