对话框<p:dialog>不显示使用primefaces和facelets </p:dialog>

时间:2010-07-01 12:56:14

标签: jsf dialog facelets primefaces

我在使用PrimefacesFacelets时遇到了一些问题。

问题在于:我有一个模板文件,这将成为我所有屏幕的基础。                                                      

            <p:commandButton value="#{msg.salvar}" action="#{managed.salvar}"
                update="cadastroMessages, #{formId}" type="image"
                image="../imagens/user_business_add_32.png" />

            <p:commandButton value="#{msg.excluir}" action="#{managed.excluir}"
                type="image" image="../imagens/user_business_close_32.png"
                update="cadastroMessages, #{formId}" />

            <p:commandButton value="#{msg.procurar}"
                onclick="#{modalConsulta}.show();" type="button" ajax="false" />

        </h:panelGrid>

        <ui:insert name="conteudo" />
    </h:form>
</p:panel>

使用此模板的文件:

        <ui:param name="managed" value="#{managedAluno}" />
    <ui:param name="modalConsulta" value="modalConsultaAluno" />
    <ui:param name="formId" value="cadastroAlunoForm" />
    <ui:param name="header" value="#{msg.cadastroAlunos}" />

    <ui:define name="conteudo">
        <h:panelGrid columns="2">
            <h:outputText value="#{msg.nome}" />
            <h:inputText id="nome" value="#{managedAluno.aluno.nome}" required="true" />

            <h:outputText value="#{msg.datanascimento}" />
            <p:calendar id="calendario" value="#{managedAluno.aluno.dataNascimento}" />

            <h:outputText value="#{msg.responsavel}" />
            <h:inputText id="resp" value="#{managedAluno.aluno.responsavel}" />

        </h:panelGrid>
    </ui:define>

在我的索引页面上,我收到<p:menuitem>点击后,会显示用户insert some data, using the code above.的对话框

对话框如下所示

<p:dialog widgetVar="dlg" modal="true"> <ui:include src="/cadastro/cadastroAluno.xhtml" /> </p:dialog>

使用ui:include,我的索引页面上插入了两个html标签,最糟糕的是,对话框没有出现!

如果我为h1标签更改<ui:include>,则可以正常使用! 我怎样才能完成这项工作?

1 个答案:

答案 0 :(得分:2)

对话框在面板和panelGrid中不起作用。它虽然在布局和layoutUnits内部工作。所以把你的对话框或确认对话框OUTSIDE面板或panelGrids。