Выполните два метода в действии в JSF - PullRequest
19 голосов
/ 27 октября 2011

Возможно ли выполнить два метода в действии <h:commandButton>?

Например,

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

Ответы [ 3 ]

43 голосов
/ 27 октября 2011

Вы можете использовать f:actionListener следующим образом.

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

Вы можете добавить столько элементов f:actionListener, сколько вам нужно.

7 голосов
/ 27 октября 2011

Добавьте метод в вашем bean-компоненте:

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

И вызовите этот метод со страницы JSF.

2 голосов
/ 25 октября 2017

Принятый ответ был близок к тому, чтобы работать на меня, но точка с запятой выдавала исключение синтаксического анализа.Код ниже работал:

<h:commandButton>
    <f:actionListener binding="#{bean.methodTwo()}" />
</h:commandButton>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...