2011-07-14 113 views
0

美好的一天!Struts 2驗證 - 清除錯誤信息

我按照this website中的說明使用了Struts2 xml驗證。

問題是當我點擊提交按鈕兩次。該錯誤消息也出現兩次...

我的問題是...如何清除第一個錯誤信息之前,另一個動作處理,以適應新的一組錯誤信息。

enter image description here

預先感謝您。

+0

您的應用程序與Spring集成了嗎? – lschin

+0

錯誤消息通常只存在於請求範圍內。所以錯誤消息不需要被清除。您需要提供更多信息。 – Quaternion

回答

1

默認堆棧中有一個驗證程序攔截器。你只需要使用它,並使用它非常簡單。只需通過名稱public void validate()在您的操作類中創建一個方法即可。在validate()中,您可以使用他們的獲取者&訪問這些字段,然後將所需的驗證放到它們上面。

此外,使用此實現,您不必擔心顯示的多條消息,因爲它只會顯示消息中您在addFieldError方法中設置的內容,並刪除以前保留的消息。

注意:請務必在validate()中使用變量的getter,因爲在調用此攔截器時操作中的變量未設置。

這是一個非常好的教程鏈接。

http://www.vaannila.com/struts-2/struts-2-example/struts-2-validation-example-1.html

4

如果你使用,你必須定義你的bean作爲scope="prototype" Spring集成,那麼你得到你的行動爲每個請求的新實例。 Spring的默認範圍是singleton。

對每個動作都這樣做是個好主意。

2

從窗體標記中刪除validate="true"

0

如果您將保持validate = false,則將在提交操作上調用驗證xml。

要清除每次提交點擊的郵件,如果您在jsp中使用表格,請將表格保存在表單之外。它會工作。