[Seasar-user:4429] Re: [S2JSF] initAction時のresponseCompleteでhtmlタグが出力される

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2006年 8月 28日 (月) 14:11:25 JST


米林です。

From: "Shouhei Shirai" <[E-MAIL ADDRESS DELETED]>
Sent: Monday, August 28, 2006 10:41 AM

> しらいです。

> ざっと以下の感じです。
> (バイナリデータを一度読み込んでる点とか、HttpServletResponseを
>  FacesContextより取得しているとかは見逃してください・・・ )
>
> ----- 以下 ----- 
>   FileInputStream fin = null;
>   try{
>     fin = new FileInputStream(file);
>     byte[] data = new byte[fin.available()];
>     fin.read(data);
>     HttpServletResponse response =
(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getR
esponse();
>     response.setHeader("Expires", "01 Apr 2200 10:10:10 GMT");
>     response.setContentType("application/pdf");
>     response.setHeader("Content-Disposition", "inline;filename=" + new
String("hoge".getBytes("Windows-31J"), "ISO8859_1"));
>     response.getOutputStream().write(data);
>     response.getOutputStream().flush();
>
>     // レスポンス終了
>     FacesContext.getCurrentInstance().responseComplete();
>   }catch(IOException e){
>   }catch(Exception e){
>     throw e;
>   }finally{
>     fin.close();
>   }
> ----- ここまで -----

上記ソースを使用し、PDFダウンロードを行ったみたのですが
現象を確認出来ませんでした...
# Actionの戻り値は null を設定しているのですよね?

> すると、バイナリデータの末尾に
> <html></html>
> が付加されてしまい、不明なファイルとして処理される場合が出てしまいました。

こちらについてですが、必ず現象が発生するのではなく
正常に動作する場合もあるという事でしょうか?

お手数をおかけしますが新しいウィンドウをオープンする実装方法と
お使いのブラウザやサーブレットコンテナのバージョンも
教えて頂けますでしょうか?
また、PDF処理用のServletを別途、web.xmlで設定されていますでしょうか?

宜しくお願いします。
---
米林 正明
[E-MAIL ADDRESS DELETED]




Seasar-user メーリングリストの案内