强制下载后未设置 ModelAttribute
ModelAttribute is not getting set after forcing a download
在强制下载后向 Spring 控制器中的 ModelAndView 添加对象似乎不起作用。
控制器方法中的代码
ModelAndView view = new ModelAndView("");
view.setViewName("pom-upload");
view.addObject("uploadStatus", "Uploaded pom has been successfully processed!");
response.setHeader("Content-Disposition", "attachment; filename=pom.xml");
IOUtils.copy(inputStreamToDownload, response.getOutputStream());
response.flushBuffer();
return view;
文件下载成功。
但是当我尝试访问 JSP 中的“uploadStatus
”消息时,比如
<c:out value="${uploadStatus}"></c:out>
或
div id="status-message" class="alert alert-success" role="alert">${uploadStatus}</div>
我没有收到来自 ${uploadStatus}
的消息
可能是什么原因,我该如何解决?
好的,听起来您想在用户下载文件后向他们显示一条消息。几个选项。
用户点击下载link。这将转到成功页面。成功页面使用刷新 header 或 javascript 来启动下载。所以成功来得有点早。
有关检测浏览器何时获取下载的一些想法,请参阅 Detect when browser receives file download。
在强制下载后向 Spring 控制器中的 ModelAndView 添加对象似乎不起作用。
控制器方法中的代码
ModelAndView view = new ModelAndView("");
view.setViewName("pom-upload");
view.addObject("uploadStatus", "Uploaded pom has been successfully processed!");
response.setHeader("Content-Disposition", "attachment; filename=pom.xml");
IOUtils.copy(inputStreamToDownload, response.getOutputStream());
response.flushBuffer();
return view;
文件下载成功。
但是当我尝试访问 JSP 中的“uploadStatus
”消息时,比如
<c:out value="${uploadStatus}"></c:out>
或
div id="status-message" class="alert alert-success" role="alert">${uploadStatus}</div>
我没有收到来自 ${uploadStatus}
可能是什么原因,我该如何解决?
好的,听起来您想在用户下载文件后向他们显示一条消息。几个选项。
用户点击下载link。这将转到成功页面。成功页面使用刷新 header 或 javascript 来启动下载。所以成功来得有点早。
有关检测浏览器何时获取下载的一些想法,请参阅 Detect when browser receives file download。