相关疑难解决方法(0)

通过JSF中的<h:message>重定向呈现后保留FacesMessage

我有我认为是一个常见的问题:一些托管bean有一个动作,它向上下文添加一些消息:

FacesMessage fm = new FacesMessage("didn't work");
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
FacesContext.getCurrentInstance().addMessage(null, fm);
return "some-outcome";
Run Code Online (Sandbox Code Playgroud)

然后我将结果映射faces-config.xml并配置为

<navigation-case>
    <from-outcome>some-outcome</from-outcome>
    <to-view-id>/view.xhtml</to-view-id>
    <redirect/>
</navigation-case>
Run Code Online (Sandbox Code Playgroud)

view.xhtml我提出的信息:

<h:message globalsOnly="true" />
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用,因为执行重定向时消息会丢失.

我该如何解决?我发现这个惊人的帖子解释了如何使用a来做,PhaseListener但我相信这种情况太常见了,不能用这种方式来解决.我错了吗?我应该创建PhaseListener吗?或者是否有其他标准解决方案?

java jsf redirect jsf-2

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×1

jsf ×1

jsf-2 ×1

redirect ×1