struts中和validator相關的一些注意事項

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章