2013-08-27 2 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, я изменить его на 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

Возможно лучше поместить оба файла в почтовый индекс и позволить пользователю скачать вон тот. – svz

+0

также, извините за использование сценариев сценариев <% %> в jsp, это старый код, поддерживаемый, новый код JSTL. – thedrs

+0

zip не является решением для пользователей моего типа – thedrs

ответ

1

вариант # 1: отдельная ссылка

Дайте 2 отдельную ссылку, чтобы загрузить каждый файл

вариант # 2: застежка-молния файл

сделать один почтовый файл на сервере с помощью Java API и загрузить

вариант # 3: Использовать скрипт java

сделать функцию Java Script, который откроет новую вкладку и загрузить каждый файл одновременно

Ниже код должен работать для загрузки каждого файла

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

пошел на отдельные ссылки – thedrs

Смежные вопросы