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

REGRESSION: 2.0.5->2.0.6: RendererUtils.renderChild no longer checks isRendered

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.6, 2.0.7
    • Fix Version/s: 2.0.8, 2.1.2
    • Component/s: None
    • Labels:
      None

      Description

      Hi guys,

      Thanks for all the work you do on MyFaces. It is such a robust JSF implementation.

      There appears to have been a regression between 2.0.5 and 2.0.6/2.0.7? Specifically, RendererUtils.renderChild no longer does an 'upfront' check of whether a UIComponent is rendered or not. This logic appears flawed if the UIComponent does not render its own children (the default in Renderer.getRendersChildren)?

      First, encodeBegin/encodeEnd for the UIComponent will skip (the default in UIComponentBase.encodeBegin). But encodeChildren for the UIComponent will not get called (because getRendersChildren is false), so the UIComponent has no opportunity to prevent rendering of its children. Instead RendererUtils will invoke encodeBegin/encodeEnd on each child directly. So if a rendered component is nested inside a non-rendered component, it will still appear.

      Surely there is an implication that even if I elect not to render my own children (i.e. I let JSF handle it), they should not get rendered if I myself am not rendered?

      I enclose a small project that demonstrates the issue. Hopefully it is sufficient to debug. If not I can try and untangle it from Metawidget.

        Attachments

        1. addressbook-faces2.war
          5.41 MB
          Kennard Consulting
        2. addressbook-faces2.war
          6.07 MB
          Kennard Consulting
        3. addressbook-faces2-src.zip
          35 kB
          Kennard Consulting

          Issue Links

            Activity

              People

              • Assignee:
                lu4242 Leonardo Uribe
                Reporter:
                kennardconsulting Kennard Consulting
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: