Primefaces带有未处理的FacesMessages咆哮

时间:2018-08-03 14:07:36

标签: jsf primefaces

我在渲染面部消息时遇到一个小问题。我正在使用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>

提前谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 您应该在xthml的末尾放置p:growl。

  2. update="@(growl)"是胡说八道。改为使用<p:growl autoUpdate="true" ...