Установка глобальной переменной в Struts with Spring - PullRequest
0 голосов
/ 11 мая 2009

Каков наилучший подход для установки переменной контекста сервлета в Struts? Эта переменная отображается на каждой странице заголовка и должна быть загружена из БД. Для этого есть Hibernate DAO и Spring Service, которые возвращают запрошенное значение.

Мой текущий подход заключался в расширении класса подключаемого модуля Struts и внедрении в него моего сервиса. Это невозможно сделать непосредственно в Struts, но я нашел страницу (http://opensource.atlassian.com/confluence/spring/display/DISC/Spring-enabling+Struts+PlugIns), где Ульрик Сандберг создает прокси-сервер, который обеспечивает такую ​​функциональность. Это работает, когда я развертываю свое приложение, но JUnits где-то не работает в servletunit.struts. MockStrutsTestCase.getActionServlet (MockStrutsTestCase.java:331) для java.lang.NullPointerException.

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

1 Ответ

0 голосов
/ 13 мая 2009

Посмотрите справочное руководство по пружине и раздел (3.4) по областям применения бобов. Вы можете иметь bean-компонент, который поддерживается в течение всего жизненного цикла сеанса браузера, и настроить его как bean-компонент сеанса прокси.

<!-- a HTTP Session-scoped bean exposed as a proxy -->
<bean id="userPreferences" class="com.foo.UserPreferences" scope="session">

      <!-- this next element effects the proxying of the surrounding bean -->
      <aop:scoped-proxy />
</bean>

Это из раздела 3.4.4.5.

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