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