web-dev-qa-db-fra.com

Exécuter deux méthodes en action dans JSF

Est-il possible d'exécuter deux méthodes en action de <h:commandButton>?

Par exemple,

<h:commandButton action="#{bean.methodOne();bean.methodTwo();}" />
19
IAdapter

Vous pouvez utiliser f:actionListener comme ceci.

  <h:commandButton action="#{bean.methodOne();}">
    <f:actionListener binding="#{bean.methodTwo();}" />
  </h:commandButton>

Vous pouvez ajouter autant d'éléments f:actionListener que vous avez besoin. 

42
Narendra Yadala

Ajouter une méthode Trois dans votre haricot:

public Object methodThree() {
    methodOne();
    methodTwo();
    return someThing;
}

Et appelez cette méthode à partir de la page JSF.

7
JB Nizet

La réponse acceptée était proche de travailler pour moi, mais le point-virgule jetait une exception d'analyse syntaxique. Le code ci-dessous a fonctionné:

<h:commandButton>
    <f:actionListener binding="#{bean.methodTwo()}" />
</h:commandButton>
1
Tony Scialo