JSF/ADF/PPR не может обновить страницу, как ожидалось
У меня проблемы с JSF/ADF/PPR при неправильном обновлении страницы. У меня есть selectManyCheckBox с 5 опциями, одна из которых - "Все". Если пользователи отмечают этот флажок, я должен проверить все остальные.
<h:panelGrid styleClass="myBox leftAligned" id="applyChangesBox">
<af:selectManyCheckbox id="changesCheckedBox"
autoSubmit="true" label="Hello: "
value="#{updateForm.applyChangesList}"
valueChangeListener="#{updateForm.testValueChanged}">
<af:selectItem value="A" label="All Changes"/>
<af:selectItem value="R" label="Residential Address"/>
<af:selectItem value="M" label="Mailing Address"/>
<af:selectItem value="P" label="Personal Phone/Fax Numbers"/>
<af:selectItem value="E" label="Personal Email Addresses"/>
</af:selectManyCheckbox>
<af:outputText value="#{updateForm.testValue}" partialTriggers="changesCheckedBox"/>
</h:panelGrid>
Я использую valueChangeListener, чтобы я мог видеть, что мой бин обновлен и распечатан правильно, но моя страница не обновляется и проверяет все остальные флажки, если это необходимо.
2 ответа
Попробуйте следующее:
- Не используйте
valueChangeListener
, Переместите свою логику вsetApplyChangesList()
метод на ваш боб. - добавлять
partialTriggers="changesCheckedBox"
на выбор один выбор. - ИЛИ заменить
<h:panelGrid/>
с компонентом ADF и установитеpartialTriggers
атрибут на нем, так что он не наselectManyCheckbox
&outputText
ИЛИ ЖЕ
Заменить selectManyCheckbox
с selectManyList
& использовать selectAllVisible
атрибут, который, кажется, делает то, что вы хотите.
Эти новые шпаргалки великолепны! http://www.oracle.com/technology/products/adf/adffaces/11/doc/cheatsheet/lovs.html
Я знаю, что вопрос очень старый, но, возможно, другие все еще имеют эту проблему. Лучше ставить частичный триггер на родительский элемент, а не на сам вывод. Таким образом, родительская панель перекрашивается вместе с выводом. Во-вторых, неплохо установить поле "id" компонентов, которые должны реагировать на триггеры.