我正在尝试使用 ui:repeat 填充 selectBooleanCheckbox 值,因为这些值是从列表中获取的。复选框值分配得很好,但是当我更改 selectBooleanCheckbox 值时不会调用侦听器。更改值时我也收到此错误
集合操作的非法语法:javax.el.PropertyNotWritableException:集合操作的非法语法
这是我的代码
<ui:repeat value="#{myBean.myObjects}" var="object">
<p:selectBooleanCheckbox
value="#{myBean.isObjectSelected(object)}">
<p:ajax update="growl"
listener="#{myBean.doSomethingtoObject(object)}" />
</p:selectBooleanCheckbox>
<h:outputText value="#{object.name}" />
</ui:repeat>
问题来自value="#{myBean.isObjectSelected(object)}"
部分。当我删除该部分时,错误消失了,并且监听器被调用了。但是没有它我怎么能得到复选框的值呢?即使我立即将值分配为#{true}
侦听器,也不会被调用。我发现了类似的问题,但不是 ajax 侦听器。