Jsf primefaces SelectOne菜单-未调用setter

Jsf primefaces SelectOne菜单-未调用setter,jsf,primefaces,selectonemenu,Jsf,Primefaces,Selectonemenu,选择一个选项后,我的selectonemenu既不调用setter也不调用getter。 地图在下拉列表中正确显示 这是我的密码: <p:selectOneMenu id="filter" value="#{myPatientsBean.selectedFilter}" valueChangeListener="#{myPatientsBean.activateDefaultFilter}"> <f:selectItems value

选择一个选项后,我的selectonemenu既不调用setter也不调用getter。 地图在下拉列表中正确显示

这是我的密码:

      <p:selectOneMenu id="filter" value="#{myPatientsBean.selectedFilter}"
        valueChangeListener="#{myPatientsBean.activateDefaultFilter}">
        <f:selectItems value="#{myPatientsBean.defaultFilterEntries.entrySet()}" var="map" itemValue="#{map.value}" itemLabel="#{map.key}"/>
        <p:ajax update="patientdata" event="change" />
      </p:selectOneMenu>
下面是支持Bean:

    public Map<String, String> getDefaultFilterEntries() {
        return getPatientForFilter().getDefaultFilterEntries(getCurrentUser().hasRight(UserRight.PATIENTVIEWALL));
    }


    public void setSelectedFilter(String index) {
        selectedFilter = Integer.parseInt(index);
        if (selectedFilter == -1) {
            setUseDefaultFilter(false);
        }
    }

    public String getSelectedFilterString() {
        return Integer.toString(selectedFilter);
    }
ValueChangeListener也被调用

非常感谢您的帮助。 几乎什么都试过了:
列表也不能解决我的问题。

只需删除valueListener并替换ajax标记,如下所示


这不是问题所在。我找到了解决办法。 我只是搞不懂什么类型的能手和二传手。。。我刚刚有一个整数设置器,但需要一个字符串设置器。代码的其余部分是正确的


一个valuechangelistener也可以正常工作。这不是问题。好的,你可以结束这个问题。
<p:ajax listener=#{myPatientsBean.activateDefaultFilter}" update="patientdata" />