[Seasar-user:4454] Re: ファイルダウンロード時のFacesContext#responseComplete()について
Tetsuya Toba
[E-MAIL ADDRESS DELETED]
2006年 8月 30日 (水) 19:55:21 JST
Tetsuya Toba wrote:
> 鳥羽です。
>
> S2JSF 1.1 beta3 でファイルダウンロードを行うロジックを作成して
> いるのですが、ダウンロードした後半部分に元の画面のHTMLが入って
> しまいました。
>
> そこで、いろいろ調べたところ、レスポンスを返した後に
>
> FacesContext.getCurrentInstance().responseComplete();
>
> を実行するとHTMLが付かなくなることが分かって、とりあえずそのよう
> に修正したのですが、response オブジェクト等は setter でもらえて
> いるのに、何故JSFに依存したこの一文を直接書かないといけないのか!?
> とかなりの抵抗感があります。
>
> 何か、うまい方法はないものでしょうか?
環境を書くのを忘れていました。
S2 1.0 rc 1
Teeda 1.0 beta 6 SNAPSHOT
S2JSF 1.1 beta 3
ファイルアップロード用に tomahawk 1.1.3 を入れて、extensionsFilter
を適用しています。(以前にこのMLで教えていただきました。)
ちなみに、extensionsFilter を適用しない場合は、何の問題もないよう
です。
また、extensionsFilter を s2filter の後に適用した場合は、
IllegalStateException が発生しますが、この場合もHTMLは付きません。
extensionsFilter
s2filter
の順にした場合のみ、HTMLが付いてしまい、
FacesContext.getCurrentInstance().responseComplete();
を入れる必要があるようです。
良い解決方法があれば、よろしくおねがいします。
--
鳥羽 哲也
Seasar-user メーリングリストの案内