SpringMVC获取response的问题:
关于用以下这种方式获取response的一些问题:
((ServletWebRequest) RequestContextHolder.getRequestAttributes()).getResponse();
网上对于这种方式获取response的描述很多,我用的是jar包版本是3.2.9.release
web.xml中肯定也是加了RequestContextListener
结果是获取不到的,报的异常是:
java.lang.ClassCastException: org.springframework.web.context.request.ServletRequestAttributes cannot be cast to org.springframework.web.context.request.ServletWebRequest
对于这个的最终解决方案是在controller方法的入参加上HttpServletResponse response,使用这个response是好使的,而且之前任何一个版本的任何情况,这个都是好使的.
补充:
当然,对应的获取request,两种方法都是好使的.
1.((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
2.方法入参加HttpServletRequest request,一如既往的好使
最后升了包,发现能用了,在这里再补充记录一下
这种方式在springMVC4.0以上的版本都好使了,仔细看了看源码发现,关于这块的源码都变了,所以这种获取response的方法,应该是4.0之后提出来的