我有負載時,一個download.jsp頁面,導致文件中使用下面的代碼來下載 :如何使一個jsp頁面下載2個文件
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,I它更改爲2,並重定向到相同的頁面。如果不是1,我將重定向到最初使用的最終頁面(登錄頁面),上面只有1個下載。
if (downloadDeptNumber.equals("1"))
{
redirectUrl="download.jsp" ;
session.setAttribute("dept", "2");
}
else
{
redirectUrl= "landingpage.jsp";
session.removeAttribute("dept");
}
response.sendRedirect(redirectUrl);
但似乎我不能重定向到我目前正在使用的頁面。
有沒有人有我的解決方案?
謝謝。
或許最好把兩個文件在一個zip,讓用戶下載那個。 – svz
也對不起,在jsp中使用scriptlets <% %>,這是舊代碼被維護,新代碼是JSTL。 – thedrs
zip不是我的用戶類型的解決方案 – thedrs