我想要一个
<p:growl id="messages"/>
所以我使用thepages元素为整个项目创建了一个表单,依此类推,作为主要表单中的表单,就像这样。
<h:form id="mainForm">
<p:growl id="messages" showDetail="true" autoUpdate="true" globalOnly="true" for="mainForm"/>
<div id="container">
<div id="banner" >
<a><img src="#{facesContext.externalContext.requestContextPath}/images/logo.png" alt="" border="0" /></a>
<ui:insert name="head">
<ui:include src="/panels/header.xhtml" />
</ui:insert>
</div>
<div id="content">
<ui:insert name="content">
<ui:include src="/panels/main.xhtml" />
</ui:insert>
</div>
<div id="right">
<ui:insert name="right-sidebar">
<ui:include src="/panels/box.xhtml" />
</ui:insert>
</div>
<div id="footer"><h1>Footer</h1></div>
</div>
</h:form>
问题来自于其中一个面板..(xhtml)文件显示一条消息,它没有显示在主页的增长中。 我试着用全球而没有运气。
总结:我如何创建一个p:growl一次,来处理我网站的所有消息?
任何建议
Thnx提前
答案 0 :(得分:0)
你不应该嵌套多个表格(正如你所说的那样)。
尝试封装
<p:growl .../>
在另一个包含之前在一个表单中标记,并将autoUpdate属性保留为true。删除globalOnly属性,因为这将影响,只显示组件ID“null”的FacesMessages:
<h:form id="mainForm">
<p:growl id="messages" showDetail="true" autoUpdate="true"/>
</h:form>
<div id="container">
<div id="banner" >
<a><img src="#{facesContext.externalContext.requestContextPath}/images/logo.png" alt="" border="0" /></a>
<ui:insert name="head">
<ui:include src="/panels/header.xhtml" />
</ui:insert>
</div>
<div id="content">
<ui:insert name="content">
<ui:include src="/panels/main.xhtml" />
</ui:insert>
</div>
<div id="right">
<ui:insert name="right-sidebar">
<ui:include src="/panels/box.xhtml" />
</ui:insert>
</div>
<div id="footer"><h1>Footer</h1></div>
</div>
希望这能帮到你!
答案 1 :(得分:0)
最后我管理它使它工作,简单,我怀疑它,我必须更新处理消息的咆哮。
<h:form id="mainForm">
<p:growl id="messages" showDetail="true" autoUpdate="true"/>
</h:form>
之类的,请检查更新方法。
<p:commandButton id="logBut" value="Login" actionListener="#{loginBean.loginUser}" update=":mainForm:message" icon="ui-icon-carat-1-e"/>
它可以使用或不使用嵌套表单。