2

ロードすると、次のコードを使用してファイルをダウンロードする 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);

しかし、現在表示しているページにリダイレクトできないようです。

誰かが私に解決策を持っていますか?

ありがとう。

4

1 に答える 1

1

オプション # 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.
);
于 2013-08-27T11:47:03.517 に答える