2013-01-24 45 views
0

我想只有一个节目信息主要消息primefaces

<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

问题可能是'FacesMessage'排队的方式。在这些面板中,您是否使用特定的客户端ID排队消息? – kolossus

+0

我做了,没有特定的客户端ID,但仍然没有在这种情况下工作,我做了: FacesContext.getCurrentInstance()。addMessage(“mainForm”,new FacesMessage(severity,title,msg)); 但是有任何改变。 –

+0

是'mainForm'组件还是''?我没有看到(或试图)为表单排队消息。使用表单中的特定组件而不是 – kolossus

回答

0

你不应该巢多种形式(如你赛义德你这样做)。

尝试封装

<p:growl .../> 

标签的一种形式等包括之前和刚刚离开的自动更新属性设置为true。取出globalOnly属性,因为这样会效应,即只对部分ID 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> 

希望这可以帮助你!

+0

我也试过,但仍然没有消息显示。 –

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"/> 

它可以使用或不使用嵌套窗体。