我有一个 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);
但似乎我无法重定向到我目前所在的同一页面。
有人对我有解决方案吗?
谢谢。