как использовать один объект команды на 2 разных страницах, не делая его одиночным - PullRequest
0 голосов
/ 01 февраля 2011

Как сделать перенос объекта класса с одной страницы на другую в jsp при выполнении серверного процесса,

например, пусть будет page1.jsp, у него есть командаObject page1 класса Page

Затем я заполняю часть его значения в page1.jsp,

Затем я хочу, чтобы тот же объект был перенесен на другую страницу, скажем, page2.jsp и на этой странице я заполняю оставшиеся значения объекта page1 и затем сохраняю его в базе данных.

Ответы [ 2 ]

2 голосов
/ 01 февраля 2011

В методе post вашего контроллера для страницы 1 снова добавьте свой объект команды в модель и верните имя представления для страницы 2.

Похоже, вы описываете простой рабочий процесс диалога.Если ваш рабочий процесс становится более сложным, я рекомендую взглянуть на Spring Webflow .

0 голосов
/ 01 февраля 2011

Если вы не хотите (или не можете) использовать бин Singleton, как насчет использования областей действия request или session?Они создаются по индивидуальному заказу для этого сценария.

3.5.4.2 Область запроса

Рассмотрим следующее определение компонента:

<bean id="loginAction" class="com.foo.LoginAction" scope="request"/>

Контейнер Spring создает новый экземпляр компонента LoginAction, используя определение компонента loginAction для каждого запроса HTTP.То есть bean-компонент loginAction находится на уровне HTTP-запроса.Вы можете изменять внутреннее состояние экземпляра, который создается столько раз, сколько вы хотите, потому что другие экземпляры, созданные из того же определения компонента loginAction, не увидят эти изменения в состоянии;они относятся к индивидуальному запросу.Когда запрос завершает обработку, компонент, находящийся в области действия запроса, отбрасывается.


3.5.4.3 Область сеанса

Рассмотримследующее определение компонента:

<bean id="userPreferences" class="com.foo.UserPreferences" scope="session"/> 

Контейнер Spring создает новый экземпляр компонента UserPreferences, используя определение компонента userPreferences для времени жизни одного сеанса HTTP.Другими словами, бин userPreferences эффективно ограничен на уровне сеанса HTTP.Как и для bean-объектов в области запросов, вы можете изменять внутреннее состояние экземпляра, который создается столько раз, сколько вы хотите, зная, что другие экземпляры сеанса HTTP, которые также используют экземпляры, созданные из того же определения bean-компонента userPreferences, не видят эти изменения в состоянии.потому что они специфичны для отдельного сеанса HTTP.Когда сеанс HTTP в конечном итоге отбрасывается, компонент, который ограничен этим конкретным сеансом HTTP, также отбрасывается.

Источник:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...