flashAttribute在Websphere重定向期间丢失

问题描述 投票:0回答:1

在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);
}

有人可以解释我应该如何正确做吗?

java spring redirect websphere
1个回答
0
投票

[我已经检查并确认,在Websphere上进行重定向期间与使用flashAttribiute有关的问题是由从4.3.2.RELEASE迁移到4.3.9.RELEASE问题之后的spring库引起的。

我没有检查4.3.9.RELEASE之前的旧库,因此可以在旧版本中对其进行修复

© www.soinside.com 2019 - 2024. All rights reserved.