Uploaded image for project: 'MyFaces Tomahawk'
  1. MyFaces Tomahawk
  2. TOMAHAWK-1612

Children of h:form within t:panelGroup still get rendered even though their parent (h:form) has rendered=false

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.11
    • 1.1.12
    • Html Tag
    • None
    • Tomahawk20-1.1.11 and MyFaces 2.1.6 (Tomcat7, Java6)

    Description

      Children of h:form with rendered="false" do get rendered (but should not) IF h:form is placed within t:panelGroup
      If t:panelGroup in the example below is changed to h:panelGroup, then everything works correctly (h:form children don't get rendered).

      Example demonstrating the bug:

      <t:panelGrid>
      <t:panelGroup>
      <h:form id="testForm" rendered="false">
      Stuff inside form should not show but this line shows
      </h:form>
      </t:panelGroup>
      </t:panelGrid>

      I did some debugging and it seems to me that the bug is coming from the following change made from Tomahawk20-1.1.10 to Tomahawk20-1.1.11
      In class: org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils
      Method: public static void renderChild(FacesContext facesContext, UIComponent child) throws IOException
      The following lines were removed:

      530 if (!child.isRendered())
      531

      { 532 return; 533 }

      There might be other places where this change could be causing problems/bugs.

      Attachments

        Activity

          People

            lu4242 Leonardo Uribe
            stanz Stan Zapryanov
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: