JSF 2.0 Primefaces fermer une boîte de dialogue dans un composant composite
Je veux afficher un composite composant à l'intérieur d'une boîte de dialogue. Cela fonctionne mais comment puis-je fermer cette boîte de dialogue à partir du composant composite.
<p:commandButton value="Display Data Value Assertion Dialog" onclick="dlg2.show();" type="button"/>
<p:dialog header="Modal Dialog" widgetVar="dlg2" modal="true" height="600" width="800">
<tcmt:DataValueAssertion managedBean="#{dataValueAssertionController}"/>
</p:dialog>
Dans ma composite composant:
<h:commandButton value="Save Assertions">
<f:ajax listener="#{datatypeAssertionController.saveDatatypeAssertion}"></f:ajax>
</h:commandButton>
<h:commandLink value="Close">
<f:ajax listener="#{datatypeAssertionController.closeDatatypeAssertion}"></f:ajax>
</h:commandLink>
Lorsque vous cliquez sur Enregistrer, je veux être en mesure de sauvegarder les données et fermer la boîte de dialogue. Lorsque vous cliquez sur Annuler, je veux juste fermer la boîte de dialogue sans enregistrer. Les deux saveDatatypeAssertion
et closeDatatypeAssertion
méthodes sont des espaces réservés. J'ai besoin de trouver un moyen d'obtenir une référence pour le dialogue dlg2
, puis d'appeler la hide()
méthode.
OriginalL'auteur Sydney | 2011-07-11
Vous devez vous connecter pour publier un commentaire.
Si vous êtes en utilisant JSF 2.0.Vous pouvez le faire comme ceci:
J'ai obtenu fixe:
<f:ajax event="click" onevent="dlg2.hide()" listener="#{datatypeAssertionController.saveDataValueAssertion}"></f:ajax>
Ouais, vous avez raison.Je viens de faire une erreur.Je vais modifier ma réponse.
Mais vous pouvez essayer
actionListener="#{data*.saveDataValueAssertion()}"
,il peut être un travail. J'ai juste oublier le ()OriginalL'auteur FishGel