我有以下代码:
<h:commandLink action="#{testBean.showSomething}"> Do Stuff </h:commandLink>
wich做我想要的(更改testbean的状态并重新加载页面,由于其“ rendered”属性,该页面将显示不同的div集)现在我想使用ajax来完成此操作,所以我这样做了:
<h:commandLink action="#{testBean.showSomething}"> <f:ajax event="click" render=":content" /> Do Stuff </h:commandLink>
但是,这导致showSomething方法甚至没有被调用。恕我直言,我想做的事情很简单,但我无法为自己的生活弄清楚如何做。
您需要使用event="action"而不是event="click"。您甚至可以完全忽略它。这就是<f:ajax>嵌套在UICommand组件中时正在监听的默认事件。
event="action"
event="click"
<f:ajax>
UICommand
<h:commandLink action="#{testBean.showSomething}"> <f:ajax render=":content" /> Do Stuff </h:commandLink>