Pergunta

I'm facing a little problem with Primefaces and Facelets.

Here's the problem: I got a template file, that will be my base for all my screens.

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

The file that uses this template:

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

On my index page, I got a <p:menuitem> that when clicked, will show a dialog for user insert some data, using the code above.

The dialog looks like this

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

Using ui:include, two html tags are inserted on my index page, and the worst, the dialog DOESN'T show up!

If i change <ui:include> for an h1 tag, works fine!
How can i get this work?

Foi útil?

Solução

dialog boxes do not work inside panels nor panelGrid. It works inside layout and layoutUnits though. So put your dialog or confirmDialogs OUTSIDE panels or panelGrids.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top