我可以保留 flash 变量以重新加载页面
FacesContext.getCurrentInstance().getExternalContext().getFlash().keep("someVar");
但是任何回发到页面都会导致我丢失 flash 变量。我尝试安装 preRenderView 事件侦听器并检查回发。
if(FacesContext.getCurrentInstance().isPostback())
FacesContext.getCurrentInstance().getExternalContext().getFlash().keep("someVar");
但是这次我收到了这个错误并丢失了 flash 变量
在我们尝试为 flash 设置传出 cookie 时,响应已经提交。存储到闪存中的任何值在下一次请求时都将不可用。
实际上我想要实现的是使用 Post-Redirect-Get 模式并在手动重新加载页面时保留页面数据(用户点击 F5)。我使用的是 Mojorra 2.2.8