5 java ajax jsf richfaces jsf-1.2
当使用RichFaces示例中<a4j:support>
描述的类似时,我在更改下拉框的值时总是会收到以下错误.
期望组件类型为javax.faces.SelectOne(myId)的子组件类型为UISelectItem/UISelectItems.找到null.
这是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>
Run Code Online (Sandbox Code Playgroud)
既然cs.bundeslandList.selectOtherField.selectItems
至少是空的ArrayList
,我肯定otherFieldId
不可能null
.
我已经删除了整个页面,我不再收到错误了.在valueChangeListener
正确调用,但遗憾的是,otherFieldId
会不会被调用后刷新.它被清空了.但是在调试时我可以看到相应的属性填充了条目.
<f:selectItems value>
在某种程度上,吸气剂肯定会回归null
.这个例外没有其他原因.可能你的支持bean代码逻辑流程是完全错误的.
请注意,制作此属性static
是一个非常糟糕的主意.它将在整个Web应用程序的所有其他请求之间共享.您希望基于请求或基于最高会话.
归档时间: |
|
查看次数: |
7101 次 |
最近记录: |