You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Martin Marinschek (JIRA)" <de...@myfaces.apache.org> on 2006/09/21 02:22:23 UTC

[jira] Updated: (TOMAHAWK-36) t:div, t:span, s:fieldset should render children

     [ http://issues.apache.org/jira/browse/TOMAHAWK-36?page=all ]

Martin Marinschek updated TOMAHAWK-36:
--------------------------------------

           Status: Resolved  (was: Patch Available)
    Fix Version/s: 1.1.4-SNAPSHOT
       Resolution: Fixed
         Assignee: Martin Marinschek

Thanks to Gert Vanthienen for this fix.

regards,

Martin

> t:div, t:span, s:fieldset should render children
> ------------------------------------------------
>
>                 Key: TOMAHAWK-36
>                 URL: http://issues.apache.org/jira/browse/TOMAHAWK-36
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>         Environment: tomcat 5.5.9 
>            Reporter: Dennis Byrne
>         Assigned To: Martin Marinschek
>            Priority: Minor
>             Fix For: 1.1.4-SNAPSHOT
>
>         Attachments: fieldset.diff, TOMAHAWK-36.patch
>
>
> In the following JSP, the test method of the test bean creates a HtmlOutputText, sets a unique id, sets a value, and adds it to the children collection of the UIComponent of the div tag.  However the new child component is never rendered.  The only child rendered is the first one (w/ @value = "foo" ).
> <f:view>
>    <h:commandLink value="action" action="#{test.test}" />
>    <t:div binding="#{test.tag}">
>              <h:outputText value="foo" />
>    </t:div>
> </f:view>
> The reason why the first child (@value=foo) is always rendered has to do w/ the fact that UIComponentTag.doEndTag ends up triggerring HtmlTextRendererBase.renderOutputText during the render response phase.  This also explains why the programmatically added sibling is not rendered - there is no UIComponentTag.doEndTag() .
> The programmatically added UIComponent will be rendered if you wrap t:div w/ a panelGrid or panelGroup.  This is because the UIComponents for these two tags render their own children, and MyFaces uses recursion in order to make sure the proper encoding methods are called on *all* children.   

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira