5

我有这个命令按钮:

    <p:commandButton value="Enregistrer" action="#{reglementClientMB.ajouter}" 
            process="@this @form" update="@form" >
            <f:setPropertyActionListener target="#{reglementClientMB.est_ajouter}" value="false" />
            </p:commandButton>

动作方法返回另一个页面,我想在p:growl加载下一页时显示一个

我测试了它是其托管 bean 的构造函数,但咆哮声显示在页面中的数据下方

FacesContext.getCurrentInstance().addMessage(
                        null,
                        new FacesMessage(FacesMessage.SEVERITY_INFO, ""
                                + "Confirmation", "Réglement crée avec sucée"));

                RequestContext.getCurrentInstance().update("messages");

我怎样才能做到这一点

先感谢您

4

1 回答 1

10

<p:growl>如果在第一次构造 bean 之前渲染 bean,那么 bean 的构造函数可能为时已晚。例如

<p:growl />
...
<h:outputText value="#{bean.something}" />

<p:growl>只有在 bean被渲染之前构建它才会起作用。

<h:outputText value="#{bean.something}" />
...
<p:growl />

为了解决您的具体问题,您需要在预渲染视图侦听器中完成这项工作。

<f:event type="preRenderView" listener="#{bean.init}" />

和:

public void init() {
    // Add the desired message here.
}
于 2013-05-15T02:38:41.903 回答