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

Character encoding not set correctly before Restore View

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.1-SNAPSHOT
    • 2.0.1
    • JSR-314
    • None

    Description

      In my examples I have a phase listener that outputs all request parameters. I accidentially did this before restore view and got some strange behaviour. With MyFaces 2.0, reading the request parameters before the restore view phase kills german umlauts. This happens because the character encoding is calculated and set in the request at the beginning of restore view but after the before phase listeners are executed.

      As this is not happening with Mojarra, I set a breakpoint in ServletRequest.setCharacterEncoding and saw that they are setting this somewhere at the beginning of the lifecycle.

      I quickly checked the spec but the only thing I found regarding the character encoding was at the beginning of restore view (which is done correctly in MyFaces). But I wonder if it should not be set earlier as, like in my case, an earlier access to the request parameters kills umlauts. This might also be necessary for extensions doing something with request parameters in a before restore view listener.

      Attachments

        1. MYFACES-2734.patch
          2 kB
          Michael Kurz
        2. MYFACES-2734-doPrePhaseActions.patch
          11 kB
          Jakob Korherr
        3. MYFACES-2734-test-app.zip
          8 kB
          Michael Kurz

        Activity

          People

            jakobkorherr Jakob Korherr
            dr.gonzo Michael Kurz
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: