我已经阅读了很多关于Flash如何在Mojarra中被窃听的内容,但是从现在起我还没有遇到任何问题。我有一个JavaEE-Project(1.8),我有一个带有@ViewScope(javax.faces.bean)的@ManagedBean(javax.faces.bean)和一个像
这样的函数public void foo() throws IOException{
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(keepMessages);
FacesContext.getCurrentInstance().addMessage("msg", new FacesMessage(FacesMessage.SEVERITY_INFO, message, detail));
redirectController.redirect("index.html");
}
redirectController中的Redirect-Function只是
public void redirect(String url) throws IOException {
FacesContext.getCurrentInstance().getExternalContext().redirect(url);
}
我通过
从xhtml-File调用此函数<p:commandLink action="#{bean.foo()}"
update="@form">
buttontext
</p:commandLink>
当我按下按钮时,重定向工作并显示消息,但是使用此和以后的每个请求我都会在server.log中收到此消息:
Warnung:JSF1095:当我们尝试为flash设置传出cookie时,响应已经提交。存储在闪存中的任何值在下一个请求中都不可用。
我使用的是运行Mojarra 2.2.12和Primefaces 5.2的Glassfish 4.1.1。
我担心这可能会导致副作用,而不是垃圾邮件日志。我做错了什么?
PS:由于这是我在stackoverflow上的第一篇文章,我想说谢谢你过去给别人的所有好答案,这给我节省了很多时间和麻烦。 : - )