[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 メーリングリストの案内