Использование @ViewScoped в JSF 2.0? - PullRequest
9 голосов
/ 03 декабря 2011

Как использовать / преимущества использования @ViewScoped ниже @ManagedBean в JSF 2.0

1 Ответ

38 голосов
/ 03 декабря 2011

@ManagedBean просто объявляет, что JSF управляет определенным компонентом (делает его доступным для языка выражений среди других).

@ViewScoped позволяет вам объявить конкретную область действия, в которой будет жить боб. По умолчанию (если вы не указываете какую-либо область действия) это @RequestScoped, что означает ваш Боб будет жить через один запрос, а затем будет уничтожен. Другие области применения: @SessionScoped и @ApplicationScoped. Сторонние расширения представили другие возможности.

@ViewScoped будет существовать до тех пор, пока вы отправляете страницу обратно на себя. «Представление» - это другое слово для «страницы» в Java EE, но область видимости страницы уже означала что-то еще в Java EE. Область просмотра очень удобна, так как она позволяет шаблон инициализации данных при первом обращении к странице (через запрос не для лиц, который обычно является запросом GET), а затем сохраняет эти данные при работе на странице, выполняя обратные вызовы Запросы AJAX и т. Д.

Область является спасателем при работе с таблицами в JSF, где вы взаимодействуете с компонентами в таблице. А именно, в JSF есть правило, что данные, которые использовались для визуализации таблицы, должны быть ТОЧНЫМИ ЖЕ данными, которые используются после обратной передачи при обработке компонентов, с которыми вы взаимодействовали. С точки зрения объема это тривиально, но без этого довольно сложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...