如何在重定向頁面中顯示面部消息我提供了一個允許用戶為應用程序創(chuàng)建帳戶的界面。在該過程結束時,注冊方法執(zhí)行注冊過程向頁面添加成功消息,然后將用戶導航到顯示所有系統(tǒng)用戶的中央數據表。我遇到的問題是,由于頁面重定向,成功消息永遠不會顯示。我不能在方法中有wait()因為在方法完成之前不會顯示JSF消息。理想情況下,我希望顯示成功消息,然后在指定的時間后重定向頁面。我怎樣才能做到這一點?
2 回答

智慧大石
TA貢獻1946條經驗 獲得超3個贊
context.addMessage(clientId, message);externalContext.getFlash().setKeepMessages(true);return "users.xhtml?faces-redirect=true";
請注意,較舊的Mojarra版本具有一些與Flash范圍相關的特殊錯誤:
問題2959 - Flash有時會創(chuàng)建在IE中失敗的version1 cookie - 在2.1.25 / 2.2.2中修復
issue 2977 - Flash在會話到期后導致過時cookie上的NPE - 在2.1.25 / 2.2.2中修復
您最好升級到最低Mojarra 2.1.27 / 2.2.5,以確保您的應用程序不受此影響。

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
僅當目標頁面位于不同的基本文件夾中時。Mojarra目前已經在2.1.15。如果你無法升級,最好的辦法是自己重新發(fā)明閃存范圍:1)生成一些唯一的ID。2)在會話范圍內存儲消息,并以唯一ID作為密鑰。3)將唯一ID存儲為cookie值。4)在preRenderView
重定向頁面的情況下,檢查cookie是否存在,如果存在,則將其用作會話屬性密鑰以從會話獲取消息(并且不要忘記刪除cookie和會話屬性)
添加回答
舉報
0/150
提交
取消