Вызовите метод действия <h: commandLink>, используя <f: ajax> - PullRequest
11 голосов
/ 22 марта 2011

У меня есть следующий код:

<h:commandLink action="#{testBean.showSomething}">
    Do Stuff
</h:commandLink>

который делает то, что я хочу (измените состояние testbean и перезагрузите страницу, которая покажет другой набор элементов div. Из-за их «визуализированных» свойств) Теперь я хочу использовать AJAX для этого, поэтому я сделал это:

<h:commandLink action="#{testBean.showSomething}">
    <f:ajax event="click" render=":content" />
    Do Stuff
</h:commandLink>

Однако это приводит к тому, что метод showSomething даже не вызывается. ИМХО то, что я хочу сделать, довольно просто, но я не могу понять, как это сделать.

1 Ответ

18 голосов
/ 22 марта 2011

Вам нужно использовать event="action" вместо event="click".Вы могли бы даже опустить это вообще.Именно это событие по умолчанию, которое <f:ajax> прослушивает при вложении в компонент UICommand.

<h:commandLink action="#{testBean.showSomething}">
    <f:ajax render=":content" />
    Do Stuff
</h:commandLink>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...