Dialog <p:dialog> doesn't show using primefaces and facelets
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="m开发者_运维技巧odalConsultaAluno" />
<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!
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.
精彩评论