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