当使用RichFaces 示例<a4j:support>
中描述的类似内容时,我在更改下拉框的值时总是收到以下错误。
预期组件类型 javax.faces.SelectOne(myId) 的子组件类型为 UISelectItem/UISelectItems。发现为空。
这是JSF代码:
<h:selectOneMenu id="selectId" valueChangeListener="#{cs.myListener}" value="#{cs.selectList.selectedItem}">
<f:selectItems value="#{cs.bundeslandList.selectItems}" />
<a4j:support event="onchange" reRender="otherFieldId" />
</h:selectOneMenu>
<h:selectOneMenu id="otherFieldId">
<f:selectItems value="#{cs.bundeslandList.selectOtherField.selectItems}" />
</h:selectOneMenu>
既然cs.bundeslandList.selectOtherField.selectItems
至少是一个空的ArrayList
,我敢肯定那otherFieldId
不可能null
。
我现在已经剥离了整个页面,并且不再出现错误。valueChangeListener
被正确调用,但不幸的是otherFieldId
,调用后不会刷新。它被清空了。但是在调试时我可以看到相应的属性充满了条目。