java - 在 websphere 重定向期间 flashAttributes 丢失
问题描述
在 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) line 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);
}
有人可以解释我应该如何正确地做到这一点吗?
解决方案
我已经检查并确认在 websphere 上重定向期间使用 flashAttribiute 相关的问题是由 spring 库在从 4.3.2.RELEASE 迁移到 4.3.9.RELEASE 问题消失后引起的。
我没有检查 4.3.9.RELEASE 之前的旧库,所以它可以在旧版本中修复
推荐阅读
- javascript - 将淡入淡出过渡应用于javascript中的幻灯片
- firebase - 我想将所有用户名从 firebase 数据库检索到我的 ionic 项目中
- windows - 如何将windows目录挂载到windows容器
- ios - 在 IB 中或以编程方式重用不同场景的视图
- r - 如何在R中的数组中查找数字序列?
- r - 不同长度的时间序列
- java - 获取 StringIndexOutOfBound 异常
- jquery - 有没有办法按类而不是 ID 来引用剑道窗口?
- javascript - Laravel:如何在我的 java 脚本变量中获取数据库值?
- python-3.x - 熊猫时间序列选择单个日期