‹p:ajax event=change› не будет работать с данными, сгенерированными во время выполнения

У меня есть это:

<h:selectOneMenu id="facility" value="#{document.facility}">
     <f:selectItem itemLabel="A" itemValue=""/>
     <f:selectItem itemLabel="B" itemValue=""/>
     <f:selectItems value="#{document.facilities}"/>
     <p:ajax actionListener="#{document.test}" update="project" event="change"/>
</h:selectOneMenu>

document — это управляемый компонент, метод getFacilities() которого возвращает список элементов, скажем, C, D, F. Таким образом, выпадающий список будет выглядеть так:

A
B
C
D
F

Если я нажму на B, вызовет метод test(). Я регистрирую это. Но если я нажму на сгенерированные во время выполнения данные C, D, F, то метод test() вообще не будет вызываться. Как я могу это исправить?


person Thang Pham    schedule 05.07.2010    source источник


Ответы (1)


Область действия управляемого компонента должна быть не ниже ViewScoped, если вы оставите область действия по умолчанию (RequestScoped), она не будет работать.

person Thang Pham    schedule 12.07.2010