簡體   English   中英

如何使JSP頁面下載2個文件

[英]How to make a jsp page download 2 files

我有一個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);

但似乎我無法重定向到當前所在的同一頁面。

有人對我有解決方案嗎?

謝謝。

選項#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.
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM