Диалог <p: dialog> не отображается с использованием простых и граней - PullRequest
2 голосов
/ 01 июля 2010

У меня небольшая проблема с 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>

При использовании пользовательского интерфейса: include на мою страницу индекса вставляются два HTML-тега, и самое худшее,диалог не появляется!

Если я изменю <ui:include> для тега h1, все будет отлично!
Как я могу получить эту работу?

1 Ответ

2 голосов
/ 28 октября 2010
Диалоговые окна

не работают ни внутри панелей, ни в PanelGrid. Это работает внутри макета и макетаUnits, хотя. Поэтому поставьте свой диалог или подтвердите диалог ВНЕШНЕЙ панели или панели сетки.

...