Uploaded image for project: 'PUBLIC - Liferay Faces'
  1. PUBLIC - Liferay Faces
  2. FACES-2499

Refactor bridge body renderer to wrap other body renderers

Details

    Description

      Component libraries may replace the default h:body renderer with their own implementation. This is problematic because the Liferay Faces Bridge must override the body renderer in order to avoid rendering <body> tags in a portlet environment. This has caused issues in the past such as FACES-2056 (Liferay Faces Bridge does not support adding PrimeFaces 5.x scripts before the closing </body> tag of the portal page). FACES-2056 was fixed by adding a special case BodyRendererPrimeFacesImpl which called the necessary methods in Primefaces via reflection. However, a more general fix should be applied. The Bridge body renderer should wrap other body renderers and delegate to them in order to avoid issues like FACES-2056 (and reflective or compile time dependencies on component suites). The bridge body renderer can use a special response writer to render <body> tags as <div> tags.

      Attachments

        Activity

          People

            kyle.stiemann Kyle Stiemann (Inactive)
            kyle.stiemann Kyle Stiemann (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Packages

                Version Package
                bridge-impl-2.0.0
                bridge-impl-3.0.0
                bridge-ext-1.0.0
                bridge-ext-2.0.0
                bridge-ext-3.0.0
                bridge-ext-5.0.0
                bridge-impl-4.0.0
                bridge-impl-5.0.0