我正在用jsf和richfaces做一个项目。有一个选择许多列表。选择并保存在选择多个列表中后,将再次打开选择多个列表。最后选定的项目被选为列表中的默认项目。但是我想阻止最后选择的项目。我该怎么办?
<td valign="top">
<h:panelGroup id="ajaxAvailableProductPanel2">
<h:selectManyListbox
size="#{pc_ExternalProviderFrag.callServerBackingBean.availableProductsSelectItemsSize}"
id="availableProductsListbox2"
style="width: 100%;"
valueChangeListener="#{pc_ExternalProviderFrag.callServerBackingBean.handleAvailableProductsListboxValueChange}">
<f:selectItems
value="#{pc_ExternalProviderFrag.callServerBackingBean.availableProductsSelectItems}" />
</h:selectManyListbox>
</h:panelGroup>
</td>
只需在操作方法中清除组件的值即可。
所以,给定一个
<h:selectManyListbox value="#{bean.selectedItems}">
您可以在操作方法中执行此操作:
public void submit() {
// ...
selectedItems = null;
}
顺便说一下,我的印象是valueChangeListener
根本不属于那里,但这是一个不同的问题/问题。