Загрузка объекта в ServletContext (область приложения) - PullRequest
3 голосов
/ 15 января 2009

Я хотел бы поместить два небольших константных объекта (один TreeMap и один ArrayList) где-нибудь в ServletContext веб-приложения Struts2 (работающего под Tomcat 6), чтобы эти объекты могли быть доступны из любого JSP через область применения.

В Struts1 я бы использовал один из этих автозагрузок "plug-in s" (определен в struts-config.xml). Есть ли эквивалентный способ достижения того же результата с Struts2?

В качестве альтернативы (и, может быть, даже лучше), поскольку мое веб-приложение использует Spring, настроенный в Tomcat с использованием Spring * ContextLoaderListener, могу ли я вместо этого положиться на Spring? Например, путем создания bean-компонента, который объявляет некоторый соответствующий интерфейс "ApplicationAware" ...

Ответы [ 3 ]

1 голос
/ 15 января 2009

дубль 2: Реализуйте интерфейс ServletContextAware на одном из компонентов Spring и просто внесите необходимые изменения в контекст. Если необходимо, сделайте это в аннотированном методе @PostConstruct, потому что тогда ваш bean-компонент завершается в момент обновления контекста сервлета.

1 голос
/ 16 января 2009

дубль 3: Возможно, вы захотите проверить Область контекста Spring Servlet

0 голосов
/ 15 января 2009

Если бы это было мое приложение (и мы используем довольно схожую архитектуру), я бы внедрил однобортный пружинный бин в базовый класс моего класса контроллера struts2, но все мои jsp имеют контроллеры, и все они имеют общую базу класс.

...