尝试使用primefaces 4.0
在selectCheckboxMenu中设置值/ 我的xhtml代码 /
<p:selectCheckboxMenu value="#{A.b}" label="C" valueChangeListener="#{myValidator.validate}">
<f:selectItems value="#{d.availableItems}"/>
<p:ajax update="some_id"/>
</p:selectCheckboxMenu>
/ myValidator /
public void validate(ValueChangeEvent event){
Object[] oldValues = ((Object[]) event.getOldValue());
SelectCheckboxMenu input = (SelectCheckboxMenu)event.getComponent();
input.setSelectedValues(oldValues);
}
我得到一个奇怪的错误
javax.faces.component.UpdateModelException: java.lang.IllegalArgumentException: Cannot convert [Ljava.lang.Object;@40bb23 of type class [Ljava.lang.Object; to interface java.util.List
at javax.faces.component.UIInput.updateModel(UIInput.java:867)
答案 0 :(得分:0)
通过在bean setter中添加验证方法解决了问题。