当DispatcherServlet在调用doDispach对请求处理之前,在doService方法中会对请求request进行一些处理,会在它的域中添加一些属性,供后面的操作使用。
我们可以通过以下两种方式来快速获取request域对象中保存的属性,不管是dispatchServlet放置的,还是我们自己保存的
1.RequestContextHolder
RequestContextHolder.getRequestAttributes().getAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST);
从Request域对象中获取key为DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE的属性。
DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE表示在本次请求重定向时 需要转发的属性。
2.RequestContextUtils
FlashMap outputFlashMap = RequestContextUtils.getOutputFlashMap(request);