Jsf f:ajax侦听器未为h调用:selectBooleanCheckbox
代码如下:Jsf f:ajax侦听器未为h调用:selectBooleanCheckbox,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,代码如下: <h:selectBooleanCheckbox value="#{user.data['selected']}"> <f:ajax event="click" listener="#{timetableBean.processUserEvents}" /> <f:attribute name="user" value="#{user}" /> </h:selectBooleanCheckbox> 单击复选框
<h:selectBooleanCheckbox value="#{user.data['selected']}">
<f:ajax event="click" listener="#{timetableBean.processUserEvents}" />
<f:attribute name="user" value="#{user}" />
</h:selectBooleanCheckbox>
单击复选框确实会触发ajax提交,但根本不会调用侦听器方法。
最重要的是,没有错误消息,阶段正常完成
Im正在尝试mojarra 2.0.4-b09,在遇到此错误后,我更改为2.1.2,但相同的问题仍然存在
我做错什么了吗
多谢各位
更新 问题是将h:SelectBoolean复选框放在primefaces数据列表(p:datalist)中。把它放在外面很好。我想知道是什么问题。现在将在primefaces论坛上提问。这里是谎言 问题实际上是将复选框放在p:dataList中,而没有将其封装在p:column中 在用p:column包装它之后,侦听器将被正常调用
希望有帮助 您的侦听器方法签名是否与public void processAjaxBehavior(javax.faces.event.AjaxBehaviorEvent)匹配?@Matt Handy:谢谢,我已经更新了上面的帖子,是的,我有这个签名。
public void processUserEvents(AjaxBehaviorEvent e) {
User user = (User) e.getComponent().getAttributes().get("user");
...
}