Question

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?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top