2

と で少し問題に直面していPrimefacesます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 を使用すると、インデックス ページに 2 つの html タグが挿入され、最悪の場合、ダイアログが表示されません。

<ui:include>h1タグに変更すると正常に動作します!
どうすればこの仕事を手に入れることができますか?

4

1 に答える 1

2

ダイアログ ボックスは、パネルや panelGrid 内では機能しません。ただし、レイアウトとレイアウトユニット内で機能します。したがって、ダイアログまたはconfirmDialogsをパネルまたはpanelGridの外側に配置してください。

于 2010-10-28T13:00:26.690 に答える