Jsf 如何防止在更新全局PrimeFaces时更新p:消息
我正在使用PF5.3和JSF2.2 我有一个全局p:growl,它将在backBean中更新,问题是每当我更新全局p:growl时,其他p:messages也会用相同的数据更新。我想要一种只更新backbean中action方法中的全局咆哮的方法,其他p:消息不应该更新 xhtml:Jsf 如何防止在更新全局PrimeFaces时更新p:消息,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我正在使用PF5.3和JSF2.2 我有一个全局p:growl,它将在backBean中更新,问题是每当我更新全局p:growl时,其他p:messages也会用相同的数据更新。我想要一种只更新backbean中action方法中的全局咆哮的方法,其他p:消息不应该更新 xhtml: <h:body> <p:growl id="growlGeneralMessages" showDetail="true" sticky="true" globalOnly="true"
<h:body>
<p:growl id="growlGeneralMessages" showDetail="true" sticky="true" globalOnly="true" />
<h:form id="register_new_student" enctype="multipart/form-data" >
<p:messages autoUpdate="true" />
<p:commandButton id="new_student_action" value="Add" update="register_new_student_panel" validateClient="true" action="#{teacherPresentation.newStudentAction()}" />
</h:form>
</h:body>
我尝试了两种方法,但都不起作用:
1-从p:messages中删除属性autoUpdate(失败)
2-在addMessage方法中指定客户端id
context.addMessage(null,message);-->addMessage(“growlGeneralMessages”,message);(这也失败了)我想你有两种选择来控制它 关键选项
p:growl
和p:messages
都有一个for
属性,可以将该组件绑定到键。您可以使用该键作为FacesContext.addMessage()的clientId
参数来控制要在每个组件上显示的消息
这就是我的意思:
<p:growl for="growlKey"/>
严重性选项
同样,这两个组件都有一个严重性
参数,用于控制中显示的消息。例如,您可以使用info
表示咆哮,使用error
表示消息,或其他任何形式
创建FacesMessage
时,可以使用FacesMessage.severity
指定严重性
FacesMessage facesMsg = new FacesMessage(
FacesMessage.SEVERITY_ERROR, "Your title", "Your Message")
希望有帮助
facesCtx.addMessage("grwolKey", facesMsg);
FacesMessage facesMsg = new FacesMessage(
FacesMessage.SEVERITY_ERROR, "Your title", "Your Message")