L'ordre d'exécution des événements lorsque vous appuyez sur PrimeFaces p:commandButton

Je suis en train d'exécuter une JSF2 méthode d'haricot et afficher une boîte de dialogue après l'achèvement de la méthode sur cliquez de PrimeFaces <p:commandButton>.

<p:commandButton id="viewButton" value="View"
    actionlistener="#{userBean.setResultsForSelectedRow}" ajax="false"
    update=":selectedRowValues"
    oncomplete="PF('selectedRowValuesDlg').show()">
</p:commandButton>
<p:dialog id="selectedRowValues" widgetVar="selectedRowValuesDlg" dynamic="true">
    <h:outputText value="#{userBean.selectedGroupName}" />
</p:dialog>

Quand je clique sur le bouton de commande, le haricot d'action de la méthode écouteur setResultsForSelectedRow s'exécute correctement, mais il n'affiche pas la boîte lorsque la méthode est terminée. Si je supprime actionlistener, il montre la boîte de dialogue. Je ne sais pas ce qui ne va pas.

Qu'est-ce que l'ordre d'exécution des événements? Est-il possible d'exécuter actionlistener et oncomplete simultanément?

  • Vous êtes explicitily réglage ajax=false sur le bouton de commande et d'essayer ajax update. Il ne fonctionne pas de cette façon. Essayez de supprimer ajax=false et ajouter process=@this sur <p:commandButton/> et non vous ne pouvez pas exécuter actionListener et oncomplete en même temps.
  • Merci Chris pour la réponse rapide..j'ai essayé de processus=@, mais il ne fonctionne pas..aussi je ne peux pas exécuter actionListener et oncomplete dans le même temps,alors, il est une autre approche que je peux utiliser?
InformationsquelleAutor Abhay | 2013-11-22