При использовании ADF, доступ к ViewObject-ам (см ADV BC) из ADF Faces страниц осуществляется через итераторы (<itarator>) binding контейнеров соответствующих страниц, которые описываются в pageDef файлах. Тег
<itarator> имеет очень важный атрибут
Refresh который позволяет указать в каких случаях необходимо обновлять данные:
- always - при каждом запросе binding контейнера (при рендеринге страницы, при сабмите страницы или когда приложение отсылает ответ на страницу)
- deferred - отложенное. Обновляется только если этого требует другой (связанный с нашим) binding объект
- ifNeeded - (по умолчанию) обновляет даные при необходимости. Если например выводятся на страницу дочерняя и родительская таблица, то родитель будет обновлен два раза (один - при обновлении дочернего итератора, другой - при обновлении своего). ifNeeded - позволяет этого избежать.
- never - используется для того чтоб отключить обновление средствами ADF, при этом приложение должно само обновлять данные.
- prepareModel - используется если обновление требуется только при подготовке binding контейера страницы
- prepareModelIfNeeded - при подготовке контейнера и только если необходимо
- renderModel - обновлять при рендеринге страницы
- renderModelIfNeeded - обновлять при рендеринге страницы и только если необхлдимо
Для дополнительных условий можно использовать атрибут
RefreshCondition - он позволяет задать EL выражение определяющее когда обновлять данные. Например: ${!bindings.findAllServiceRequestIter.findMode} обновление будет определятся значением атрибута findMode
Комментариев нет:
Отправить комментарий