在我的一个@RequestMapping POST方法中,我需要返回HttpServletResponse(这是一个xml文件),我想刷新视图。通常我会返回路径,但在这种情况下,它会被附加到用户正在下载的xml文件中。 有没有办法先关闭并发送响应,然后生成(刷新)视图?
答案 0 :(得分:1)
我会说不,不是。虽然不是100%肯定。您可以尝试发送文件,并在响应中设置重定向标头。我刚才没有尝试过,但我想你会被重定向。真的取决于浏览器。浏览器可以决定仍然下载该文件。
发送响应后,客户端需要生成一个新请求,因此无法在服务器端关闭它,只需创建一个新请求。
我建议使用Javascript的解决方案。无论是AJAX还是仅设置当前位置两次(首先是下载,然后是新视图)。我不确定,我猜是通过location.href
如果您需要一个实际的代码示例,请告诉我,因为我需要一些时间来制作一些东西。