JSF flash keepMessages属性是否仍然存在?
我有一个JSF问题,我认为可以通过添加对FacesContext.getCurrentInstance()的调用来解决.getExternalContext().getFlash().setKeepMessages(true);.但是,我不清楚其中的一些含义. keepMessages属性是否在整个应用程序中保持为真?
这是一个成熟的应用程序,所以我担心设置这个属性会导致一堆消息突然弹出.如果它仍然存在,是否有任何方法我可以为下一个重定向设置此属性?或者我是否需要在某处手动将其切换回假? 解决方法
不,它仅适用于当前的“闪存会话”.即只是当前的HTTP请求.它在同一会话的下一个请求中被清除. 另见class’ javadoc:
而method’s javadoc:
但是,应该注意到Mojarra有几个与闪存范围有关的严重问题.例如.导航到其他路径时,不会显示该消息.或者当您碰巧导航到同一路径时,该消息将重新出现在不同的窗口中.那种事.然而,自Mojarra 2.1.18以来,所有这些问题都已得到解决.只留下了一个安全漏洞,参见issue 2126,由我的同事Arjan Tijms发现并报告.只要您不将敏感信息放入信用卡号等闪存消息中,这就无害了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |