使用以下代码:
<h:selectBooleanCheckbox value="#{user.data['selected']}">
<f:ajax event="click" listener="#{timetableBean.processUserEvents}" />
<f:attribute name="user" value="#{user}" />
</h:selectBooleanCheckbox>
方法代码是:
public void processUserEvents(AjaxBehaviorEvent e) {
User user = (User) e.getComponent().getAttributes().get("user");
...
}
点击复选框确实会触发ajax提交,但监听方法根本没有被调用。更糟糕的是,没有错误消息,阶段正常完成。
我尝试了mojarra 2.0.4-b09,遇到这个错误后,我改成了2.1.2,但是问题仍然存在。
我做错了什么吗?
谢谢。
更新:
问题是将h:selectBooleanCheckbox放在primefaces datalist(p:dataList)中引起的。将其放在外面就可以正常工作。我想知道问题出在哪里。现在将在primefaces论坛中提问。
public void processAjaxBehavior(javax.faces.event.AjaxBehaviorEvent event)
? - Matt Handy