当我在按钮提交上使用primefaces组件对话框时:onstart(PF(").show()) oncomplete(PF(").hide()),隐藏对话框也使growl消失,growl显示来自托管bean的消息。和http://forum.primefaces.org/viewtopic.php?f=3&t=29036一样的问题谢谢你的建议。
<p:growl id="growl" life="7000" redisplay="true" autoUpdate="true" showDetail="true" />
<p:commandLink onstart="PF('statusDialog').show()" oncomplete="PF('statusDialog').hide()" update="users" actionListener="#{userBean.delete(user)}" styleClass="ui-icon ui-icon-trash" >
如何解决这个问题?
试试这个:
我的咆哮:
<p:growl id="messages" showDetail="false" autoUpdate="true" sticky="true" />
调用dialog的按钮:
<p:commandButton global="false"
icon="#{ico.ico_editar}"
title="#{act.btn_editar}"
update=":#{p:component('dAdmObjetivo')}"
oncomplete="PF('dlgAdmObjetivo').show();"/>
我的对话:
<p:dialog id="dAdmObjetivo"
widgetVar="dlgAdmObjetivo"
modal="true"
closeOnEscape="true"
minHeight="300"
hideEffect="fade"
showEffect="fade"
resizable="false"
showHeader="false"
appendTo="@(body)">
<h:form>
<h:panelGrid columns="3" style="float: right;margin: 10px 0px 10px 0">
<p:commandButton value="#{act.btn_guardar}"
actionListener="#{bean.registrarObjetivo()}"
update=":#{p:component('pnlObjetivos')}"
icon="#{ico.ico_guardar}" />
<p:spacer width="5"/>
<p:commandButton value="#{act.btn_cerrar}"
global="false"
icon="#{ico.ico_cerrar}"
onclick="PF('dlgAdmObjetivo').hide();">
</p:commandButton>
</h:panelGrid>
</h:form>
我在bean中的方法:
public void registrarObjetivo() {
/**
* Your code
*/
/**
/**
* Hide dialog
*/
RequestContext context = RequestContext.getCurrentInstance();
context.execute("PF('dlgAdmObjetivo').hide();");
/**
* The growl message
*/
FacesMessage fmsg = new FacesMessage(FacesMessage.SEVERITY_INFO, "El objetivo se registró correctamente", null);
FacesContext.getCurrentInstance().addMessage(null, fmsg);
}