项目中要获取response,在之前的方法都是如下方式获取:
public void manageHome(HttpServletRequest request,HttpServletResponse response)
但是每次都是用这种,不太方便。也不太好看。
我们可以包装一个方法,放在父类里。然后每个cotroller都继承这个父类。在父类中定义getResponse();方法,这样我们就能在想要的时候就使用getResponse();
public HttpServletResponse getResponse(){
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
}
但是注意了,ServletRequestAttributes类获取response方法只在高版本的spring中支持。具体是从哪个版本开始支持的我不清楚,但是我在4.2.4版本中可用。在3.2.0版本中不能使用。所以需要使用的小伙伴就下载最新的版本即可。