我有带有struts2 MVC和spring DI的web RestClient,并在登录Authenticated RestClient bean到会话范围内的struts2动作后使用struts2-spring-plugin注入。如果我在struts2-spring-plugin
中需要web.xml ContextLoaderListener<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
没有会话范围(我的IDE标记会话为红色)只有原型和单例可用:
<bean id="restClient" class="com.test.services.RestClient" scope="session">
<constructor-arg ref="dataSource"/>
</bean>
如果我在web.xml中有RequestContextListener会话范围出现
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
但此异常显示为full stacktrace
IllegalStateException:找不到线程绑定请求:是吗? 引用实际Web请求之外的请求属性,或 处理原始接收线程之外的请求?
我知道如果我切换到spring MVC这个问题不存在但是我可以在会话范围内使用spring bean和struts2框架吗?或者struts2有什么替代方法吗?