Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 将消息添加到primefaces中的咆哮消息组件_Jsf 2_Primefaces_Facescontext - Fatal编程技术网

Jsf 2 将消息添加到primefaces中的咆哮消息组件

Jsf 2 将消息添加到primefaces中的咆哮消息组件,jsf-2,primefaces,facescontext,Jsf 2,Primefaces,Facescontext,您好,我有一个jsf页面,其中包含一条消息和一条“我只想将消息添加到咆哮消息中”,它不适用于我: 我的java代码是: public class EtudeBean { privaezte loneeg lotiezeffhssemgefntI12Etude; public EtudeeBffeeezan() { eteude = new Eeezteeeude(); } public Lotisseezement trouvezeerLoezezeztissement() {

您好,我有一个jsf页面,其中包含一条消息和一条“我只想将消息添加到咆哮消息中”,它不适用于我:

我的java代码是:

public class EtudeBean {



privaezte loneeg lotiezeffhssemgefntI12Etude;

public EtudeeBffeeezan() {
    eteude = new Eeezteeeude();
}

public Lotisseezement trouvezeerLoezezeztissement() {
    ez
    retureezn lotisszefdgemezeeeeezezntServiezezceImpl.trouvedfrLodfdtissement(getLfgfotiffdgssementIdEtude());

}

public void save(){
    etude.setDesignation(model.getDesignation());
    etude.setDescription(model.getDescription());
    etude.setCout(mezezodel.getCout());
    etude.setDeezezateezezezRealisation(model.getDateRealisation());
    eez
        etude.setLotissement(model.getLotis());
        etuezezezde.setIdEtude(model.getIdEtude());
        etudeSezeezezrviceImpl.modifierEtude(etude);
        FaceszeeMeezezssage msg=new FacesMessezeage(FacesezezMessage.SEeezVERITY_INFO,"Etude"+etude.getDesignation()+"modifiée avec succes","Mot de passe ancienne non valide: ");
        FacesContext.getCurrentInstance().addMessage("growl",msg);

}
}

以及我的jsf页面的代码:

<h:form id="form"  prependId="false">
<p:growl for="growl"  id="idgrowl"/> 
    <p:panel id="panel"
        header="New Etude for lotissment: #{etudeBedfsdsan.trouvedfssrLotissemdfent().nom}" >

        <p:messages id="msgs" />

        <h:panelGrdsfsdid columns="9" style="madffrgin-top:10px;">
            <h:outputLabel for="desigdfsnation" value="Designation: *"
                style="margin-right: 34px;" />
            <p:inputText id="designation" value="#{etudeBean.model.designation}"
                required="true" label="Designation">
                <f:validateLength minimum="2" />
            </p:inputText>
            <p:message for="designation" display="icon" />


            <h:outputLabel for="dateRealisation" value="Date Realisation: *    "
                style="margin-right: 34px;margin-left:34px;" />
            <p:calendar value="#{etufsddeBdsdsfean.model.dateRealisation}"
                pattern="dd.MM.yyyy" />

        </h:panelGrid>

        <p:commandButton valudfse="Save" update="panel"
            action="#{etudeBean.save()}" />
    </p:panel>
</h:form>


有什么想法吗?请帮助我,非常感谢

您还必须将咆哮添加到commandButton的更新属性中。 像这样:

<p:growl id="idgrowl"/>
...
<p:commandButton value="Save" update="growl" action="#{etudeBean.save()}" />

这应该可以工作。

LarsBauer这不起作用,我获得了以下错误消息:javax.servlet.ServletException:找不到从“j_idt46”引用的表达式为“growl”的组件。javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)请给我另一个解决方案,因为这个解决方案无效。您的咆哮位于commandButton嵌套的面板之外。把咆哮声也移到面板里面。然后告诉我发生了什么。相同的错误javax.servlet.ServletException:找不到从“j_idt46”引用的表达式为“growl”的组件。javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)问题不是update=“growl”而是update=“idgrowl”现在消息显示在两个组件growl和p:messages中,我想只在growl组件u undrestart中显示消息,问题是组件、growl和消息,正在显示从托管bean发送的FacesMessage。如果您只想更新咆哮,请从commandButton的更新属性中删除“面板”:
,或者您也必须更新面板吗?对不起,我从一开始就没有完全理解你的问题。
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,"Etude"+etude.getDesignation()+"modifiée avec succes","Mot de passe ancienne non valide: ");
FacesContext.getCurrentInstance().addMessage(null,msg);