Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-152

ResponseWriter.endDocument() abuse breaks ADF Faces

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.0.9m9
    • 1.1.1
    • General
    • None

    Description

      I've been shown some problems lately with MyFaces 1.0.9 and ADF Faces.
      The problems specifically trace to MyFaces's use of
      ResponseWriter.endDocument() to output Javascript. Since ADF Faces
      runs with its own RenderKit (and therefore its own ResponseWriter),
      this Javascript is getting dropped and not written.

      I'd recommend (both as JSF EG guy and ADF Faces guy) that this MyFaces
      code be moved out of ResponseWriter.endDocument(). Specifically:

      • ResponseWriter.endDocument() is not guaranteed to be called before
        the close of or even the close of , and therefore this
        script cannot be safely output at this point. It's quite likely that
        changes in JSF 1.2 will essentially guarantee that endDocument() is
        not called until the close of all output.
      • This is not really the intent of ResponseWriter.endDocument(). In
        HTML, it should be a no-op. It's there for more bizarre scenarios
        like a ResponseWriter outputting a SOAP envelope around a response.
      • It's breaking ADF Faces.

      A significantly cleaner way to output needed Javascript is to add it
      as needed from the Renderers that require it (using a request-scoped
      attribute to track if its been added already).

      Attachments

        Issue Links

          Activity

            People

              bruno_dev Bruno Aranda
              adamwiner Adam Winer
              Votes:
              6 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: