Представления JSF разделяются между пользователями? - PullRequest
1 голос
/ 02 августа 2011

Я определил количество логических представлений и представлений в атрибутах сеанса в web.xml, равное 1, так что существует только максимум 1 представление. Учитывая это, у меня есть пара вопросов:

  • Это # специфично для данного пользователя? Это означает, что это ограничивает количество просмотров до 1 на пользователя? ** Если да, может ли быть несколько представлений одного и того же JSP для нескольких пользователей?

  • Есть ли способ поделиться представлением JSF между пользователями (учитывая, что представление является довольно общим и не содержит никаких пользовательских данных)?

Спасибо!

1 Ответ

3 голосов
/ 02 августа 2011

Если ваше общее определение «пользователя» на самом деле равно «сеансу HTTP», то да, вы правы. Представления в основном хранятся в сеансе HTTP и на них ссылается скрытое поле ввода HTML с именем javax.faces.ViewState. Различные HTTP-сеансы не будут делиться своими взглядами друг с другом, что в противном случае, очевидно, было бы огромной ошибкой и дырой в безопасности.

Установив количество (логических) представлений в сеансе на 1, вы исключаете возможность того, что пользователь может использовать несколько представлений, содержащих формы POST, в разных окнах / вкладках в одном сеансе. Каждый раз, когда конечный пользователь открывает новое окно / вкладку, конечный пользователь будет получать ViewExpiredException всякий раз, когда конечный пользователь запускает запрос POST в предыдущем окне / вкладке, потому что вы настроили его для сохранения только одного представления сеанс, который является последним открытым.

...