[Seasar-user:10509] Re: ダウンロードを IE でキャンセルした際の対応について
SETO Azusa
[E-MAIL ADDRESS DELETED]
2007年 9月 13日 (木) 20:28:40 JST
せとあずさです。
On Thu, 13 Sep 2007 10:59:11 +0900 (JST)
[E-MAIL ADDRESS DELETED] wrote:
> CSVファイルのダウンロードは、Actionクラスで
> public Class doHoge() {
> // レスポンスにダウンロード用のヘッダー設定を行い
> response.setContentLength((int) size);
> response.setContentType("text/csv");
> response.setHeader("Content-Disposition","inline;filename=\"" + fileName + "
> \"");
>
> //内容を書き出して
> OutputStream out = response.getOutputStream();
> int c;
> while ((c = in.read()) != -1) {
> out.write(c);
> }
> out.close();
> in.close();
> // 終了したことをJSFに通知する。
> page.getFacesContext().responseComplete();
> return null;
> }
> として実現しています。
> ログを見る限りは、Actionクラス終了後の出来事のようなのです。
> 「ClientAbortException」を無視するような対応が必要だと思うのですが・・・
Actionの中でOutputStreamをcloseしているのが不要なのでしょう。
Teedaに限らずServletでは、Responseから取得したOutputStreamの
closeはWebコンテナ(Servletコンテナ)の役割です。
# と、思います。
--
せとあずさ
[E-MAIL ADDRESS DELETED]
http://www.fieldnotes.jp/d/
Seasar-user メーリングリストの案内