2012-09-18 37 views
1

我相信,如果兩個 - xml驗證都設置了動作類別中的驗證,那麼無論是否在xml驗證階段發現錯誤,都會調用動作類'validate方法。基於這個前提,我如何知道在我的動作的validate()方法(getActionErrors().size() == 0 ..類似的東西)中有任何xml驗證錯誤。Struts2 - 如何在驗證方法中的xml驗證過程中發現錯誤?

我的目的是在發送控制權返回給jsp之前,如果存在驗證錯誤,則設置操作類的某些變量。 (設置它們的內部prepare將是錯誤的,因爲準備將執行,不論是否有錯誤)

+0

'getActionErrors()。size()'將返回大於0的東西,如果有一些錯誤,我猜。 – Pigueiras

+0

@Pigueiras - getFieldErrors()。size()也會返回這些錯誤,我猜... 2有什麼不同? – Daud

+0

是的,當我寫這個時,我不知道我在想什麼。如果在xml中聲明的字段有任何錯誤,使用hasFieldErrors()方法,您將解決此問題。 – Pigueiras

回答

4

您可以使用getFieldErrors()返回

地圖與字段名(字符串)映射到收藏字符串 的錯誤錯誤信息

還有一些輔助方法,如hasActionErrors()hasFieldErrors()這將幫助您確定是否存在錯誤。

請注意,第一個告訴您是否存在動作級錯誤,後者有助於確定是否存在特定的,與字段相關的錯誤。