我在渲染面部消息时遇到一个小问题。我正在使用primefaces 6和Java8。
使用标签p:growl我想向用户显示一条消息。除该按钮外,页面的所有其他部分均正常工作。我收到的消息如下:
There are some unhandled FacesMessages, this means not every FacesMessage had a chance to be rendered.
These unhandled FacesMessages are:
- Rechargez la page
我认为是因为我不太了解如何在页面中找到ID growl
(尽管@(growl)可以完成工作,但我认为失败了)
public void suppressEnquete(int idEnquete) {
boolean success = StatFilterDao.suppressEnqueteById(idEnquete);
FacesContext context = FacesContext.getCurrentInstance();
if (!success) context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Something went wrong", "Please try again later") );
else context.addMessage(null, new FacesMessage("Enquête supprimé", " Rechargez la page") );
}
<h:form>
<p:growl id="growl" showDetail="true" sticky="true" />
<p:dataTable var="formulaire" value="#{statFilter.formulaireComplete}"
widgetVar="formulairesTable"
emptyMessage="Aucun formulaire trouvé avec ces critères"
filteredValue="#{statFilter.formulaireFiltre}">
<f:facet name="header">
<p:outputPanel>
<h:outputText value="Recherche dans tous les formulaires : " />
<p:inputText id="globalFilter" onkeyup="PF('formulairesTable').filter()"
style="width:150px" placeholder="Entrez un mot clef"> <p:ajax event="change" update="average" /></p:inputText>
</p:outputPanel>
</f:facet>
...
<p:column headerText="Options" escape="false" >
<p:commandButton value="Supprimer" actionListener="#{statFilter.suppressEnquete(formulaire.idEnquete)}" icon="fa fa-remove" update="@(growl)" />
</p:column>
</p:dataTable>
</h:form>
提前谢谢!
答案 0 :(得分:0)
您应该在xthml的末尾放置p:growl。
update="@(growl)"
是胡说八道。改为使用<p:growl autoUpdate="true" ...
。