2

我在使用Primefacesand时遇到了一点问题Facelets

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

            <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 标签,最糟糕的是,对话框没有出现!

如果我更改<ui:include>为 h1 标签,工作正常!
我怎样才能得到这份工作?

4

1 回答 1

2

对话框在面板和 panelGrid 内都不起作用。它可以在 layout 和 layoutUnits 中工作。所以把你的对话框或confirmDialogs放在面板或panelGrids之外。

于 2010-10-28T13:00:26.690 回答