当使用<a4j:support>
就像中描述的RichFaces 示例 http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/a4j_support.html#d0e7173更改下拉框的值时,我总是收到以下错误。
需要 UISelectItem/UISelectItems 的子组件类型
组件类型 javax.faces.SelectOne(myId)。发现为空。
这是 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>
Since cs.bundeslandList.selectOtherField.selectItems
至少是一个空的ArrayList
,我确信otherFieldId
不可能null
.
我现在已经删除了整个页面,并且不再收到错误。这valueChangeListener
被正确调用but不幸的是,otherFieldId
调用后不会刷新。已经空了。但是在调试时我可以看到相应的属性已填充条目。
的吸气剂<f:selectItems value>
在某个时刻肯定已经回来了null
。此例外没有其他原因。您的支持 bean 代码逻辑流程可能是完全错误的。
请注意,使该属性static
这是一个非常糟糕的主意。它将在整个 Web 应用程序上的所有其他请求之间共享。您希望使其基于请求或基于最高会话。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)