也许有一些解决方法,但这并不是很明显,因为这不是它的本意。Spring
MVC旨在具有单例
@Controllerbean,
@RequestMapping这些bean提供以请求和响应为参数的方法。
如果您需要在其他地方(服务层)进行响应-请勿这样做。响应不应超出网络(控制器)层。
要注入响应,您需要:-将响应存储在
ThreadLocal-中以使工厂bean返回当前响应
关于您显示的示例代码-我不确定您是否不需要工厂bean返回代理(实现
HttpServletResponse),而代理又返回当前响应。而且它变得相当复杂。
但最终-您不应该这样做。如果需要拦截多个控制器调用,请使用mvc-
interceptor。如果确实需要使用方面,则可以将响应作为参数传递给截获的方法来获取响应。



