在spring(4.3.2.RELEASE)和java(1.8)应用程序中,我使用spring-flashAttribute作为重定向期间传递参数的机制。
RedirectAttributes rm;
(...)
rm.addflashAttribute("redirModel",rModel);
问题是:传递属性(通过flashAttribute)适用于tomcat,但适用于websphere(8.5.5.11),这些属性在重定向后会丢失。
传递这些属性的位置:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(HttpServletRequest,HttpServletResponse,HandlerMethod)第804行
(...)
mavContainer.addAllAttributes(RequestContextUtils.getInputflashMap(request));
(...)
其中RequestContextUtils通过以下方式传递这些属性: org.springframework.web.servlet.support.RequestContextUtils:
@SuppressWarnings("unchecked")
public static Map<String,?> getInputflashMap(HttpServletRequest request) {
return (Map<String,?>) request.getattribute(DispatcherServlet.INPUT_flaSH_MAP_ATTRIBUTE);
}
有人可以解释我应该如何正确做吗?