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