2010-07-01 12 views
2

Je suis confronté à un petit problème avec Primefaces et Facelets.Dialog <p:dialog> ne montre pas en utilisant primefaces et facettes

Voici le problème: J'ai un fichier modèle, qui sera ma base pour tous mes écrans.

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

Le fichier qui utilise ce modèle:

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

Sur ma page d'index, je suis un <p:menuitem> que lorsque vous cliquez dessus, affichera une boîte de dialogue pour l'utilisateur insert some data, using the code above.

La boîte de dialogue se présente comme suit

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

En utilisant ui: inclure deux balises HTML sont insérés sur ma page d'index, et le pire, la boîte de dialogue ne se présente pas!

Si je change <ui:include> pour un tag h1, ça marche!
Comment puis-je obtenir ce travail?

Répondre

2

Les boîtes de dialogue ne fonctionnent pas dans les panneaux ni dans PanelGrid. Il fonctionne à l'intérieur de la mise en page et layoutUnits cependant. Alors mettez votre boîte de dialogue ou confirmez les panneaux OUTSIDE ou panelGrids.