2011-11-22 31 views
1

應用程序使用JSF 2.0框架。 用戶將值輸入到表單。當用戶選擇保存時,某些字段有驗證錯誤,有些字段沒有。 用戶點擊取消按鈕。然後用戶再次單擊更新按鈕。 即使更新了模態值,選擇保存時具有有效值的字段也會顯示本地值而不是更新後的模型值。JSF 2.0驗證錯誤導致輸入字段顯示本地值而不是更新的模型值

我通過在cancel的action方法中添加resetValues()方法解決了此問題。 resetValues()遍歷子列表並將本地值重置爲null。

是否有更好的解決方案來解決這個問題,以提高應用程序的性能?

回答

2

取消按鈕應該重新創建視圖。您可以通過將導航結果返回到相同視圖來完成此操作,如有必要,可使用faces-redirect=true

+0

感謝您的快速響應。你的解決方案也可以。它只在方法返回頁面名稱而不是空字符串時才起作用。 – user679526

+0

不客氣。事實上,它必須是一個有效的視圖ID,而不是空字符串或'null'或'void'。你理論上也可以做''。 – BalusC

+0

窗體有兩個面板組,打開和關閉狀態。取消按鈕有一個Ajax。如果我刪除命令按鈕的AJAX它的作品。但是,如果我爲immediate = true和execute =「@ this」添加ajax命令按鈕,則保留以前的值。 – user679526

相關問題