Варианты использования и преимущества использования t: saveState над Session Scope Bean? - PullRequest
1 голос
/ 18 февраля 2012

Я понимаю, что t:saveState позволяет компоненту области запроса сохраняться дольше, чем позволяет область запроса, но короче, чем компонент области сеанса. Вы также можете использовать t:saveState для всего компонента.

поэтому мой вопрос: если вы используете t:saveState для всего компонента, в чем преимущество использования t:saveState перед настройкой компонента в области сеанса?

Кроме того, при каких условиях вы делаете область запроса bean-компонента и используете T: saveState вместо того, чтобы использовать сессионную область bean Scope?

Спасибо

1 Ответ

2 голосов
/ 18 февраля 2012

Боб, на который ссылается <t:saveState>, будет жить столько, сколько существует представление. Он делает то же самое, что и новая область просмотра JSF 2.0.

Это особенно полезно, когда вы имеете дело с данными, которые должны существовать до тех пор, пока вы взаимодействуете с одним и тем же представлением, возвращая null или void для методов действия. Если бы вы использовали область сеанса, то несколько представлений (несколько окон / вкладок браузера в одном сеансе) имели бы одни и те же данные. Это может иметь нежелательные побочные эффекты, когда конечный пользователь взаимодействует со страницей в нескольких вкладках / окнах браузера и переключается между ними. Все изменения, сделанные на одной вкладке, будут отражены на другой вкладке.

Область сеанса должна абсолютно использоваться только для реальных данных области сеанса, таких как зарегистрированный пользователь, его настройки, язык и т. Д., Которые можно безопасно разделить между несколькими окнами / вкладками браузера в одном сеансе.

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

...