调用wizard.getOldStep()时显示FacesMessage

时间:2013-06-27 15:56:42

标签: jsf jsf-2 primefaces

我正在尝试显示FacesMessage内置onFlowProcess主要向导。

public String onFlowProcess(FlowEvent event) {  
    if (event.getOldStep().equalsIgnoreCase("otherTab")){
        if (!hasImage){
            FacesUtils.addMessage(null, "Error", "image is required", FacesMessage.SEVERITY_ERROR);
            return event.getOldStep();
        }
    }
    return event.getNewStep();
}

该消息应发送给咆哮,但我相信通过调用getOldStep(),消息会在此过程中丢失。

我的咆哮被宣布为:

<p:growl life="2500" showDetail="true" globalOnly="true"/>

,向导包含flowListener="#{bean.onFlowProcess}"

我尝试将FacesMessage

保持一致
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true);

但这似乎仅适用于页面重定向...

如果有人有任何想法......谢谢

1 个答案:

答案 0 :(得分:0)

我通过更新bean中的<p:growl>解决了这个问题:

RequestContext.getCurrentInstance().update("form:growl");