Spring在jsp中使用不同的上下文和SpringBeanAutowiringSupport

时间:2014-07-15 10:53:13

标签: java spring jsp spring-mvc servlets

我有以下问题。我的多模块spring应用程序在启动时加载了两个不同的上下文。

上下文之一加载了此代码段。

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

和另一个通过其余的webservice

<servlet>
    <servlet-name>rest</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/components_webservice.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

现在我使用此命令获得了一个jsp,以在jsp中使用自动装配的bean。

SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);

这只能使自动装配在主上下文中定义的bean。我无法从REST Servlet声明的上下文中自动装配bean。有没有办法在jsp中提供这个上下文?我知道一种方法是在主要上下文中声明所有bean,但我希望它们保持分离。

问候, smoothny

1 个答案:

答案 0 :(得分:1)

不要在你的jsp中加入任何逻辑。自动装配控制器中的字段并将生成的值传递给模型。