spring validation 異常備忘

   

我在用spring mvc 使用struts 的validation是出現這樣的錯誤:

org.apache.commons.validator.ValidatorException: org.apache.struts.validator.FieldChecks

 

這是因爲在spring使用validation的時候是用了spring module,而validator-rules.xml並沒有用spring module的東西,而是直接用了struts的版本,就是出現了org.apache.struts.validator.FieldChecks找不到異常或者其他的異常,原因在於classname的不同,如下。通過這個,我發現最好的文檔還是各種包裏面自帶的文檔說明了....

 

下面我就簡述一下spring 如何使用validation的。

 

首先有兩個配置文件,一個是上面提到的validator-rules.xml,對於這個文件的版本很重要,因爲不同版本間的實現類是不一樣的,具體可以看classname的實現類。在我說的這種情況下就應該用spring module下的自帶的。另外一個就是validation.xml,這個是針對不同的form name 進行驗證的字段配置。具體可以參看相應的文檔。

spring validation針對command對象分爲全部字段驗證和部分字段驗證。

如果是全部字段驗證的話contorller類繼承SimpleFormController就可以,然後在controller類裏面設置屬性:

這樣就可以了。配置相對簡單。

 

如果是部分字段驗證controller類繼承AbstractWizardFormController,然後在配置文件裏做類似如下配置:

 

 

以上兩種都需要配置:

 

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