我正在尝试发送下载然后转发到页面。但是一旦下载完成,前进就不会发生。
答案 0 :(得分:2)
这是正常行为。文件下载会将文件内容写入响应并关闭响应流,并且转发将尝试在已经关闭的响应上写入新内容,从而不会在响应中写入任何新内容。
解决方案:
在您的客户端中,使用JavaScript触发文件下载,并向您要转发的页面发出请求。
客户端代码改编自此处:Download a file and redirect...or alternative
<script>
function thanks() {
setTimeout(function () {
document.location.pathname = "another.jsp";
}, 1000);
}
</script>
<a href="${request.contextPath}/yourServlet?file=foo.dat" onclick="thanks()">Download now!</a>