1

フォームにいくつかの情報を受け入れる必要があるJSPページがあります。フォームは、フォームの送信後にのみ配置される追加の「Thanks for ______」divを使用して同じページに送信します(パラメーターチェックを使用)。

ただし、ダウンロード用にサーバー上でファイルを提供する必要もありますが、jspページ全体を表示する必要があるため、ファイルを提供するためにヘッダーのコンテンツ処理を混乱させることはできません。フォームを別のページに送信せずにこのファイルを提供するにはどうすればよいですか?これを行う新しいウィンドウを開くために使用できるJavaScriptのトリックは何ですか?Javascriptは大丈夫ですが、ポップアップブロッカーが勝るものは何もありません。

hrefを使用してファイルを送信できません。自動的に実行する必要があります。

また、ファイル(pdf)を新しいウィンドウで開いた場合も問題ありません。

4

1 に答える 1

3

私は前にこれをやったことがあります。通常どおり JSP ページをロードしますが、ファイルの提供を担当する別のページにリダイレクトする Javascript の行を含めます...

location.href = 'serveFile.jsp';

serveFile.jsp がcontent-dispositionヘッダーを適切に設定している限り、保存ダイアログが表示されるだけで、実際にページが変更されることはありません。

別のページに移動せずにこのファイルを提供するにはどうすればよいですか?

技術的にはできませんが、この方法を使用して前のページ (インターフェイスに関して) にとどまることができます。これにより、探していると思われるシームレスな効果が得られます。

注:このメソッドの実装では、ファイルを保存した後、別のページに移動して [戻る] ボタンを押すと、保存ダイアログが再度表示されることがわかりました。これを回避する方法はありません。

于 2010-09-21T19:41:56.453 に答える