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 ответа

Решение

Попробуйте следующее:

  1. Не используйте valueChangeListener, Переместите свою логику в setApplyChangesList() метод на ваш боб.
  2. добавлять partialTriggers="changesCheckedBox" на выбор один выбор.
  3. ИЛИ заменить <h:panelGrid/> с компонентом ADF и установите partialTriggers атрибут на нем, так что он не на selectManyCheckbox & outputText

ИЛИ ЖЕ

Заменить selectManyCheckbox с selectManyList & использовать selectAllVisible атрибут, который, кажется, делает то, что вы хотите.

Эти новые шпаргалки великолепны! http://www.oracle.com/technology/products/adf/adffaces/11/doc/cheatsheet/lovs.html

Я знаю, что вопрос очень старый, но, возможно, другие все еще имеют эту проблему. Лучше ставить частичный триггер на родительский элемент, а не на сам вывод. Таким образом, родительская панель перекрашивается вместе с выводом. Во-вторых, неплохо установить поле "id" компонентов, которые должны реагировать на триггеры.

Другие вопросы по тегам