ロードすると、次のコードを使用してファイルをダウンロードする 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");
ユーザーを次のページに移動します。
今、同じことをしたいのですが、1つのファイルではなく、ダウンロード用に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);
しかし、現在表示しているページにリダイレクトできないようです。
誰かが私に解決策を持っていますか?
ありがとう。