Java 响应后刷新视图

Java 响应后刷新视图,java,spring,spring-mvc,page-refresh,Java,Spring,Spring Mvc,Page Refresh,在我的@RequestMapping POST方法中,我需要返回HttpServletResponse(这是一个xml文件),并希望刷新视图。通常我只返回path,但在本例中,它被附加到用户正在下载的xml文件中。 有没有办法先关闭并发送响应,然后生成(刷新)视图?我会说没有,没有。但不是百分之百肯定。您可以尝试发送该文件,并在响应中设置重定向头。我刚才没有试过,但我想你会被重定向的。但这取决于浏览器。浏览器可能决定继续下载该文件 发送响应后,客户端需要生成一个新的请求,因此无法在服务器端关闭它

在我的@RequestMapping POST方法中,我需要返回HttpServletResponse(这是一个xml文件),并希望刷新视图。通常我只返回path,但在本例中,它被附加到用户正在下载的xml文件中。
有没有办法先关闭并发送响应,然后生成(刷新)视图?

我会说没有,没有。但不是百分之百肯定。您可以尝试发送该文件,并在响应中设置重定向头。我刚才没有试过,但我想你会被重定向的。但这取决于浏览器。浏览器可能决定继续下载该文件

发送响应后,客户端需要生成一个新的请求,因此无法在服务器端关闭它,而只是创建一个新的请求

我建议使用Javascript解决方案。要么使用AJAX,要么只设置两次当前位置(首先是下载,然后是新视图)。我不确定,我想是通过
location.href


如果您需要一个实际的代码示例,请告诉我,因为我需要一些时间来制作一些东西

不幸的是,我在xml中附加了异常:“java.lang.IllegalStateException:Can't sendRedirect(),在数据提交到客户端之后。”是的,这是因为已经发送了头。就像我说的,你可以试试。如果您手动添加标题,它可能会起作用
void addHeader(java.lang.String名称,java.lang.String值)
您有什么进展吗?您可能应该考虑javascript解决方案。为什么需要刷新视图?因为下载xml会更改页面上的数据,我需要尽快刷新它