2014-12-11 2 views
0

У меня есть страница, которая, когда я выбираю имя папки, заполняю два компонента (<p:selectManyMenu> и <p:pickList>). Как я могу назвать два действия?Заполнение двух компонентов в PrimeFaces

<p:selectOneMenu id="dirObj" 
       value="#{patchMB.patchBean.directoryObjetos}" 
       style="width: 350px"> 

    <p:message for="dirObj"/> 
    <f:selectItem itemLabel="Selecione" itemValue="Select"/> 
    <f:selectItems value="#{patchMB.dirObjects}"/> 
    <f:ajax event="change" listener="#{patchMB.loadFiles}" render="pickListArq"/> 
</p:selectOneMenu> 

Могу ли я использовать два тега события <f:ajax>? Я пробовал, и кажется, что он выполняет каждый слушатель 2 раза.

Вот код для второго действия:

<f:ajax event="change" 
     listener="#{patchMB.carregarSelectMany}" 
     render="objSelectMany" /> 

ответ

0

Зачем вам два АЯКС призвание? Не удалось заполнить два компонента, используя только одно действие? Где вы положили второе событие ajax?

Если вы хотите выполнить два разных метода при одном и том же действии, вы можете использовать один вызов ajax и поместить логику method2 в method1.

В противном случае, также оцените значение valueChangeListener, оно отличается по сравнению с изменением ajax. Подробнее об этом сообщении: When to use valueChangeListener or f:ajax listener?

+0

Я использую рендеринг тега для заполнения другого компонента. Я не получаю доступ к компонентам непосредственно из java, есть способ, которым я могу получить к ним доступ (выбрать и выбрать много меню) из java? Если возможно, ican выполнить 1 метод и заполнить оба. спасибо –

+1

Мне удалось решить проблему, вы были правы. –

Смежные вопросы