我有一个download.jsp页面,加载后会导致文件下载 使用以下代码:
String contentDisp = "attachment; filename=file_" + "."+DeptNumber+ ".txt";
response.setContentType("text/plain");
response.setHeader("Content-Disposition", contentDisp);
在此之后,我做了一些out.write(....)语句然后最后out.flush() 当用户从浏览器收到下载文件请求时。 之后我使用:
response.sendRedirect("landingpage.jsp");
将用户移至下一页。
现在,我想做同样的事情,但我希望页面不是一个文件,而是生成2个文件供下载。我做了2次更改:
1)我更改了jsp的开头以检查属性,并根据发送的属性生成正确的文件以供下载。
String downloadDeptNumber = request.getAttribute("dept")==null ? "1" : request.getAttribute("dept").toString();
和
2)在页面的末尾而不是重定向到下一页,我检查属性是否为1,我将其更改为2并重定向到同一页面。如果它不是1,我会重定向到最初使用的结束页面(登录页面),上面只有1次下载。
if (downloadDeptNumber.equals("1"))
{
redirectUrl="download.jsp" ;
session.setAttribute("dept", "2");
}
else
{
redirectUrl= "landingpage.jsp";
session.removeAttribute("dept");
}
response.sendRedirect(redirectUrl);
但似乎我无法重定向到我目前所在的同一页面。
有没有人为我提供解决方案?
感谢。
答案 0 :(得分:1)
选项#1:单独链接
提供2个单独的链接来下载每个文件
选项#2 :zip文件
使用java API在服务器上创建一个zip文件并下载
选项#3 :使用java脚本
创建一个java脚本函数,它将打开新标签并同时下载每个文件
下面的代码应该运行以下载每个文件
window.open(
'http://download_file_link',
'_blank' // <- This is what makes it open in a new window.
);