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

标签 java spring jsp spring-mvc servlets

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

上下文一已加载此代码片段。

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

另一个通过其余网络服务

<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 中使用 Autowiring 的 bean。

SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);

这只使得 Autowiring 在主上下文中定义的bean成为可能。我无法从 REST Servlet 声明的上下文中 Autowiring bean。有没有办法让这个上下文在jsp中可用?我知道一种方法是在主上下文中声明所有 bean,但我希望它们保持分离。

您好, 平滑

最佳答案

不要在 jsp 中放入任何逻辑。 Autowiring Controller 中的字段并将生成的值传递给模型。

关于java - Spring在jsp中使用不同的上下文和SpringBeanAutowiringSupport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24756321/

相关文章:

java - 在 64 位机器上运行时出现 NoClassDefFoundError

java - Jackson 序列化 可选,YAML 值为空

java - Spring Data MongoDB NotLike - 不支持的关键字

Spring Boot jar 由于缺少 ServletWebServerFactory bean 而无法启动 Web 服务器

java - 右对齐属性在为 tds 提供宽度时不起作用

java servlet资源调度程序在正确的位置包含html

javascript - 如何在javascript中存储表单数据以便在另一个页面或重新打开页面中使用历史记录

java - Jersey 集合的多个默认值

java - 如何参数化 Maven 文件 (pom.xml)?

java - <app-name> 不幸地停止了