1

我正在用 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>
4

1 回答 1

2

只需在 action 方法中清除组件的值。

所以,给定一个

<h:selectManyListbox value="#{bean.selectedItems}">

您可以在操作方法中执行此操作:

public void submit() {
    // ...

    selectedItems = null;
}

顺便说一句,我的印象是valueChangeListener根本不属于那里,但这是一个不同的问题/问题。

于 2013-01-25T12:42:43.383 回答