我有什么,我想是一个共同的问题:一些管理bean有它增加了一些消息的背景下一个动作:保留的FacesMessage后呈现通过<h:message>在JSF
FacesMessage fm = new FacesMessage("didn't work");
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
FacesContext.getCurrentInstance().addMessage(null, fm);
return "some-outcome";
然后映射的结果faces-config.xml
并将其配置为
<navigation-case>
<from-outcome>some-outcome</from-outcome>
<to-view-id>/view.xhtml</to-view-id>
<redirect/>
</navigation-case>
在view.xhtml
我呈现消息:
<h:message globalsOnly="true" />
但是,它不起作用,因为重定向执行时消息丢失。
我该如何解决它?我发现这个amazing post解释了如何使用PhaseListener
来做到这一点,但我认为这种情况太常见了,无法通过这种方式来解决。我错了吗?我应该创建PhaseListener
吗?或者还有其他的标准解决方案吗?
哪里@BalusC答案吗? – brandizzi 2011-10-20 15:10:25
嗯....无法读取'惊人的帖子'中的代码。也找不到@BalusC答案。 – 2011-12-16 21:11:57
@JoshuaDavis我记得BalusC已经发布了一个很好的答案。其实,我已将这个答案标记为*答案。我想知道发生了什么...... – brandizzi 2011-12-17 01:36:17