2013-08-27 28 views
2

我有負載時,一個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); 

但似乎我不能重定向到我目前正在使用的頁面。

有沒有人有我的解決方案?

謝謝。

+0

或許最好把兩個文件在一個zip,讓用戶下載那個。 – svz

+0

也對不起,在jsp中使用scriptlets <% %>,這是舊代碼被維護,新代碼是JSTL。 – thedrs

+0

zip不是我的用戶類型的解決方案 – thedrs

回答

1

選項1:單獨的鏈接

提供2個獨立的鏈接下載每個文件

選項#2:拉鍊使用Java API文件

使服務器上的一個zip文件並下載

選項#3:使用java腳本

使Java腳本函數,將打開新的標籤頁,並下載各個文件同時

下面的代碼應該運行下載的每個文件

window.open(
    'http://download_file_link', 
    '_blank' // <- This is what makes it open in a new window. 
); 
+0

去了單獨的鏈接 – thedrs

相關問題