我有一個viewScoped bean,它有一些業務邏輯驗證。 我使用JSF消息持久性
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, result, null));
顯示來自此驗證頁面所得誤差的問題是:
- 用戶提交無效形式重新顯示
- 形式,由於使用PRG 消息不顯示給用戶
我用下面這行代碼解決了這個問題:
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true);
現在的問題是,業務邏輯驗證消息持續過長:
- 用戶提交無效表單
- 形式的錯誤消息再次顯示
- 用戶修正並提交有效的形式
- 形式重新顯示「成功」消息,而且還顯示先前的錯誤消息。
我該如何解決這個問題?
你用什麼來向用戶顯示錯誤信息。你可以請分享可能會設置一個超時的消息可以幫助。請分享消息組件。 –
您是否暗示您正在執行操作方法中的驗證,並且當您不需要重定向時也調用'Flash#setKeepMessages()'?當你真的需要重定向時,你應該只調用它**。 – BalusC
謝謝@VinayakPingale。我已更新。 –