Uploaded image for project: 'S2JSF'
  1. S2JSF
  2. JSF-23

[Seasar-user:4453] ファイルダウンロード時のFacesContext#responseComplete()について

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • None
    • Affects Version/s: None
    • None

      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();
      を入れる必要があるようです。

            Assignee:
            higa higa
            Reporter:
            shot shot
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: