我想将两个小的常量对象(一个TreeMap
和一个ArrayList
)放在Struts2 webapp的ServletContext
中(在Tomcat 6下运行),这样那些对象可以通过应用程序范围从任何JSP访问。
在Struts1下,我会使用其中一个启动“plug-in
s”(在struts-config.xml
中定义)。是否有与Struts2实现相同结果的等效方法?
或者(甚至可能更好),因为我的webapp使用Spring在Tomcat中配置的Spring ContextLoaderListener
,我可以依赖Spring吗?例如,通过创建一个声明一些适当的“ApplicationAware
”接口的bean ...
答案 0 :(得分:1)
拿2: 在你的一个spring bean上实现ServletContextAware接口,然后对上下文进行必要的修改。如果需要,可以在@PostConstruct注释方法中进行,因为在更新servletcontext时,bean就完成了。
答案 1 :(得分:1)
拿3: 您可能想查看Spring Servlet Context scope
答案 2 :(得分:0)
如果这是我的应用程序(我们使用的是相当类似的架构),我会将一个单独的spring bean注入我的struts2控制器类的基类中,但是我所有的jsp都有控制器并且所有的共享基础类。