当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);
本文介绍DispatcherServlet在处理请求前的工作流程,特别是在doService方法中如何为请求request添加属性,并提供了两种快速获取这些属性的方法:使用RequestContextHolder和RequestContextUtils。
4227

被折叠的 条评论
为什么被折叠?



