JSF / ADF / PPR не может обновить страницу, как ожидалось - PullRequest
0 голосов
/ 26 марта 2010

У меня проблемы с 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 ]

0 голосов
/ 06 апреля 2014

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

0 голосов
/ 02 апреля 2010

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

  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

...