通話を行う必要はありませんAJAX
。
を で構成byte[]
されたStruts2のStream
結果として返す必要があるだけですContentDisposition: attachment;
(ContentDisposition: inline
デスクトップ アプリケーションでダウンロードまたは開くことを尋ねるのではなく、ブラウザ内で開こうとします)。
何かが起こっていること、リクエストが送信され、システムがフリーズしていないことをユーザーに通知するには、 Loading OVERLAY
.
オーバーレイはページ上に配置される要素で、通常は部分的に透明な背景、「読み込み中...」というアニメーション画像、およびモーダル動作 (ページが変更されるまで閉じず、ダブルクリックなど、同じリクエストの二重投稿など)。
もちろん、添付ファイルを開いた場合、ページは変更されないため、ダウンロードの終了をインターセプトして自分でオーバーレイを閉じるか、ユーザーに閉じるボタンを提供する必要があります。
それを傍受するには、Struts2 Execute and Wait Interceptor
.
カスタム オーバーレイを作成する場合は、ajaxload.info Generator
.
車輪を再発明したくない場合は、 のような既存のオーバーレイを調べることができますjQuery TOOLS
。