ValueChangeListener不使用包含空值的<selectonemenu> </selectonemenu>

时间:2012-01-18 09:26:51

标签: jsf-2 selectonemenu valuechangelistener

我有一个带有对象列表的<selectOneMenu>,第一个为null(允许“无选择”选项),问题是当选择“no selection”选项时,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());
}

当选择除null之外的任何其他对象时,将触发该方法。

感谢您的帮助

0 个答案:

没有答案