Какую область действия управляемого бина мне следует использовать? - PullRequest
0 голосов
/ 23 августа 2011

У меня есть 3 разные страницы, где я использую список пользователей.

Первая страница содержит таблицу данных с пользователями из одного управляемого бина области действия сеанса.На этой странице я могу изменить выбранные данные пользователя.

Вторая страница также содержит таблицу данных с пользователями, но из другого компонента области сеанса.На этой странице я удаляю пользователей из dataTable (список пользователей) и базы данных тоже.

Я понял, что это не очень хорошая идея, потому что, если я внес изменения для одного пользователя, эти изменения не будут отображаться на страницегде я удаляю пользователей.

Является ли компонент области приложения только списком пользователей решением?

1 Ответ

1 голос
/ 23 августа 2011

Является ли компонент области приложения только списком пользователей решением?

Нет, это не решит проблему, с которой вы столкнулись, и выпосле всех проблем с параллелизмом, поскольку веб-приложение, как правило, является многопользовательской средой, вам нужно будет сделать все synchronized, чтобы предотвратить неприятные ConcurrentModificationException и тому подобное.Компонент с областью применения приложения совместно используется всеми пользователями веб-приложения.Не имеет смысла хранить данные запроса / просмотра в объектном компоненте, даже если область сеанса слишком широка.

Таким образом, ваша проблема в том, что область сеанса слишком широка.Вы хотите обновлять список при каждом новом запросе GET.Лучшее для этого - поместить компонент в запрос или, что лучше, просмотреть область действия.Bean-компонент, который редактирует пользовательские детали, может быть другим, но он, в свою очередь, также легко может быть просто свойством первого bean-компонента, если вы не хотите сделать страницу редактирования закладочным GET-запросом.

См. Также:

...