У меня есть страница 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);
Но, похоже, я не могу перенаправить на ту же страницу, на которой я сейчас.
У кого-нибудь есть решение для меня?
Спасибо.
Возможно лучше поместить оба файла в почтовый индекс и позволить пользователю скачать вон тот. – svz
также, извините за использование сценариев сценариев <% %> в jsp, это старый код, поддерживаемый, новый код JSTL. – thedrs
zip не является решением для пользователей моего типа – thedrs