使用<f:ajax> </f:ajax> </h:commandlink>调用<h:commandlink>操作方法

时间:2011-03-22 15:20:47

标签: ajax jsf jsf-2

我有以下代码:

<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 个答案:

答案 0 :(得分:18)

您需要使用event="action"代替event="click"。你甚至可以完全省略它。这是嵌套在<f:ajax>组件中时UICommand正在侦听的默认事件。

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