Зависимое раскрывающееся меню в jsf primefaces не устанавливает (меняет) значение по умолчанию select-one при выборе опции «Все»

У меня есть четыре зависимых раскрывающихся списка A, Layout, Farm и D. Каждый из которых показывает список данных в зависимости от выбранного значения предыдущего раскрывающегося списка. Если я выбираю значение в раскрывающемся списке «Макет», все данные, относящиеся к макету, извлекаются из базы данных и отображаются в раскрывающемся списке «Ферма». Значение по умолчанию для всех раскрывающихся списков — select-one. Если я автоматически выбираю параметр в одном раскрывающемся списке, в следующем раскрывающемся списке по умолчанию отображается выбор одного.

Но в третьем раскрывающемся списке «Ферма» у меня есть опция «Все». Если я выберу «Все» в «Ферме», вернусь в раскрывающийся список «Макет» и выберу другой параметр, раскрывающийся список «Ферма» не изменится на «выбрать один» в качестве значения по умолчанию. Он показывает все как значение по умолчанию, но я хочу выбрать один. Может ли кто-нибудь помочь мне, как отобразить select-one как значение по умолчанию вместо «Все».

<p:column>
    <p:selectOneMenu id="laylist" value="#{imageBean.selectedlayoutid}">
        <f:selectItem itemValue="0" itemLabel="select-one" noSelectionOption="true"/>
        <f:selectItems value="#{imageBean.layoutids}" var="lay" itemLabel="#{lay.layoutname}" itemValue="#{lay.layoutid}"/>
        <p:ajax update="farlist"/>
    </p:selectOneMenu>
</p:column>
<p:column>
    <p:selectOneMenu id="farlist" value="#{imageBean.selectedfarmid}">
        <f:selectItem itemLabel="select-one" itemValue="" noSelectionOption="true" />
        <f:selectItem itemValue="allfarm" itemLabel="All" />
        <f:selectItems value="#{imageBean.farms}" var="far" itemLabel="#{far.farmname}" itemValue="#{far.farmid}"/>
        <p:ajax update="mplist" />
    </p:selectOneMenu>
</p:column>

person msk    schedule 11.03.2016    source источник
comment
@BalusC, я заполняю списки в методе получения ‹f:selectItems›. Какую логику мне нужно реализовать в слушателе? потому что в раскрывающемся списке «Ферма» не отображается значение по умолчанию для выбора одного только тогда, когда я выбираю в нем параметр «Все» и возвращаюсь в раскрывающийся список «Макет», чтобы выбрать другой вариант. И если пользователь попытается выбрать вариант «Все» (который уже выбран), значение не возвращается в класс управляемого компонента.   -  person msk    schedule 11.03.2016
comment
Смотрите дубликат. В будущем никогда не делайте бизнес-логику в геттерных методах поддержки bean-компонентов. Пусть эти методы просто возвращают уже подготовленные свойства. Вас будет легче заставить делать что-то правильно или искать правильные пути.   -  person BalusC    schedule 11.03.2016