1

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

しかし、これはページリダイレクトに対してのみ機能するようです...

誰かが何か考えがあれば... Thx

4

1 に答える 1

0

<p:growl>ビーンから更新することで問題を解決しました:

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