使用primefaces在父级中显示信息主要消息

时间:2013-01-24 16:00:19

标签: java forms jsf primefaces messages

我想要一个

<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提前

2 个答案:

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

它可以使用或不使用嵌套表单。