1

我正在尝试展示一个FacesMessage内置onFlowProcess的 primefaces 向导。

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);

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

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

4

1 回答 1

0

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

RequestContext.getCurrentInstance().update("form:growl");
于 2013-07-01T14:32:59.877 回答