Разница между областью просмотра и запроса в управляемых компонентах

Что означает область просмотра? Может кто-нибудь объяснить об этом, чтобы я мог понять, чем он отличается от объема запроса?

1 ответ

Решение

@ViewScoped Бин живет ровно столько, сколько JSF. Обычно он начинается со свежего нового запроса GET или с действия навигации, а затем действует до тех пор, пока конечный пользователь отправляет любую форму POST в представлении методу действия, который возвращает null или же void (и, таким образом, возвращается к тому же представлению). Как только вы обновите страницу или вернете неnull строка (даже пустая строка!) результат навигации, тогда область просмотра закончится.

@RequestScoped bean живет ровно столько же времени, сколько HTTP-запрос. Таким образом, он будет обработан к концу каждого запроса и воссоздан при каждом новом запросе, тем самым теряя все измененные свойства.

@ViewScoped Таким образом, bean-компонент особенно полезен в богатых представлениях с поддержкой Ajax, которые должны помнить (измененное) состояние представления в запросах Ajax. @RequestScoped один будет воссоздан при каждом запросе Ajax и, следовательно, не сможет запомнить все измененное состояние просмотра. Обратите внимание, что @ViewScoped bean не разделяет какие-либо данные между различными вкладками / окнами браузера в одном сеансе, как @SessionScoped боб. Каждый вид имеет свой уникальный @ViewScoped боб.

Смотрите также:

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