Как отменить выбор h:selectManyListbox после отправки

Я делаю проект с JSF и Richfaces. Существует 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>

1 ответ

Просто очистите значение компонента в методе действия.

Итак, учитывая

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

Вы можете просто сделать это в методе действия:

public void submit() {
    // ...

    selectedItems = null;
}

Кстати, у меня сложилось впечатление, что valueChangeListener не принадлежит там вообще, но это другая проблема / вопрос.

Другие вопросы по тегам