【问题标题】:Setting global variable in Struts with Spring使用 Spring 在 Struts 中设置全局变量
【发布时间】:2010-10-07 02:35:35
【问题描述】:

在 Struts 中设置 servlet 上下文变量的最佳方法是什么?此变量显示在标题磁贴的每个页面上,并且必须从数据库加载。为此,有 Hibernate DAO 和 Spring Service 返回请求的值。

我目前的方法是扩展 Struts PlugIn 类并将我的服务注入其中。这不可能直接在 Struts 中完成,但我发现了一个页面 (http://opensource.atlassian.com/confluence/spring/display/DISC/Spring-enabling+Struts+PlugIns),Ulrik Sandberg 在其中创建了一个允许此类功能的代理。这在我部署我的应用程序时有效,但 JUnit 在 java.lang.NullPointerException 上的 servletunit.struts.MockStrutsTestCase.getActionServlet(MockStrutsTestCase.java:331) 某处失败。

我可以采取另一种不涉及调试其他人的类的方法吗?

【问题讨论】:

    标签: hibernate spring struts


    【解决方案1】:

    查看 spring 参考指南和有关 bean 范围的部分 (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 节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      相关资源
      最近更新 更多