【发布时间】:2011-07-20 10:34:16
【问题描述】:
使用这样的代码:
<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 数据列表 (p:dataList) 中。把它放在外面工作得很好。我想知道问题是什么。现在将在 primefaces 论坛中提问。
【问题讨论】:
-
你的监听方法签名匹配
public void processAjaxBehavior(javax.faces.event.AjaxBehaviorEvent event)吗? -
@Matt Handy:谢谢,我已经更新了我上面的帖子,是的,我有那个签名。
标签: jsf jsf-2 primefaces