Вызов метода <h: commandLink> с использованием <f: ajax>
У меня есть следующий код:
<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
Вам нужно использовать event="action"
вместо event="click"
. Вы могли бы вообще опустить это. Это событие по умолчанию, которое прослушивает <f:ajax>
при вложении в компонент UICommand
.
<h:commandLink action="#{testBean.showSomething}">
<f:ajax render=":content" />
Do Stuff
</h:commandLink>