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

Behavior difference between JSF 2.2 and JSF 2.3 when using facelet prefixes

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.3.0-beta
    • 2.3.0
    • JSR-372
    • None

    Description

      There is a difference in behavior between JSF 2.2 and JSF 2.3 when using facelet prefixes.

      I have a sample app that demonstrate this behavior difference. In the app we just define a random servlet and map it to the same prefixes we would normally map to the FacesServlet. We don't map /faces/* to the testServlet but it is automatically added to the FacesServlet, so if you drove a request to something other than .jsf (testServlet) or .faces (testServlet) the FacesServlet would be invoked for all of the prefix mappings of /faces/. So that would mean you should see TEST SERVLET printed for the suffix mapping (.jsf and .faces) and then the page1 should be rendered for /faces/*.

      When you drive a request to: http://localhost:8080/JSF20FacesConfigAnotherServlet/faces/page1.jsf

      On JSF 2.2: You should see an output of "TEST SERVLET". So it ensures that .jsf mapping is invoking the testServlet.

      On JSF 2.3: You get a 404, page1.jsf not found. I think that in the case of JSF 2.3, it is invoking the FacesServlet but can't find the .jsf file because it doesn't actually exist.

      Attachments

        1. JSF20FacesConfigAnotherServlet.war
          5.27 MB
          Eduardo Breijo
        2. MYFACES-4183.patch
          0.8 kB
          Eduardo Breijo

        Issue Links

          Activity

            People

              eduardobreijo Eduardo Breijo
              eduardobreijo Eduardo Breijo
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: