Разница между областью просмотра и запроса в управляемых компонентах
Что означает область просмотра? Может кто-нибудь объяснить об этом, чтобы я мог понять, чем он отличается от объема запроса?
1 ответ
@ViewScoped
Бин живет ровно столько, сколько JSF. Обычно он начинается со свежего нового запроса GET или с действия навигации, а затем действует до тех пор, пока конечный пользователь отправляет любую форму POST в представлении методу действия, который возвращает null
или же void
(и, таким образом, возвращается к тому же представлению). Как только вы обновите страницу или вернете неnull
строка (даже пустая строка!) результат навигации, тогда область просмотра закончится.
@RequestScoped
bean живет ровно столько же времени, сколько HTTP-запрос. Таким образом, он будет обработан к концу каждого запроса и воссоздан при каждом новом запросе, тем самым теряя все измененные свойства.
@ViewScoped
Таким образом, bean-компонент особенно полезен в богатых представлениях с поддержкой Ajax, которые должны помнить (измененное) состояние представления в запросах Ajax. @RequestScoped
один будет воссоздан при каждом запросе Ajax и, следовательно, не сможет запомнить все измененное состояние просмотра. Обратите внимание, что @ViewScoped
bean не разделяет какие-либо данные между различными вкладками / окнами браузера в одном сеансе, как @SessionScoped
боб. Каждый вид имеет свой уникальный @ViewScoped
боб.