我正在用jsf和richfaces做一个项目。有一个selectManyList。选择并保存在selectmanylist中后,再次打开SelectManyList。最后选择的项目在列表中被选为默认项目。但是我想阻止最后选择的项目。我该怎么办?
<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>
答案 0 :(得分:2)
只需清除组件在操作方法中的值。
所以,给出一个
<h:selectManyListbox value="#{bean.selectedItems}">
你可以在行动方法中做到这一点:
public void submit() {
// ...
selectedItems = null;
}
顺便说一句,我认为valueChangeListener
根本不属于那里,但这是一个不同的问题/问题。