primefaces将值设置为selectCheckboxMenu

时间:2014-06-18 14:10:13

标签: java jsf primefaces

尝试使用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)

1 个答案:

答案 0 :(得分:0)

通过在bean setter中添加验证方法解决了问题。