ValueChangeListener не работает с <selectOneMenu>, содержащим нулевое значение - PullRequest
1 голос
/ 18 января 2012

У меня есть <selectOneMenu> со списком объектов, первый из которых равен нулю (для опции «нет выбора»), проблема в том, что при выборе опции «нет выбора» значение valueChangeListener устанавливается в не срабатывает.

Мне бы хотелось, чтобы это можно было очистить dataTable из его содержимого:

1) Выбран 1 объект, не ноль -> отобразить соответствующие данные в 2) выбрана опция «нет выбора», очистите таблицу.

вот мой код:

                <h:selectOneMenu id="flowSelectionFilter"
                    value="#{errorController.flowSelectionFilter}" onchange="submit()"
                    valueChangeListener="#{errorController.changeFlow}">
                    <f:selectItems
                        value="#{errorController.flowSelectionFilterValues}"
                        var="flowFilter" itemLabel="#{flowFilter}" />
                </h:selectOneMenu>

public String changeFlow(ValueChangeEvent event) throws Glossat2Exception {

    if (glossaryVersionSelectionFilter == null) {
        glossaryVersionSelectionFilter = new GlossaryVersionSelectionFilter(this.errorBean.getSelectedGlossaryVersion());
    }
    flowSelectionFilter = flowSelectionFilterMap.get(event.getNewValue());
    errorBean.setSelectedFlow(flowSelectionFilter.getFlowWithAction());
    return loadErrorsList(glossaryVersionSelectionFilter.getGlossaryVersion(), flowSelectionFilter.getFlowWithAction(), errorBean.getSelectedData());
}

метод вызывается, когда выбран любой другой объект, кроме нуля.

спасибо за вашу помощь

...