[ 
https://issues.apache.org/jira/browse/MYFACES-3542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286644#comment-13286644
 ] 

Leonardo Uribe commented on MYFACES-3542:
-----------------------------------------

This is an interesting piece of code. I'll describe what I can see, I know you 
already know this but I'm just trying to follow the steps.

In theory, org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer look for 
the components, get its clientIds, and finally pass them as params when writing 
the js code related to the ajax operation.

In this case, the values passed in "javax.faces.partial.render" request 
parameter, which are the same that were calculated before are just ignored, and 
the values used for identify the affected client behavior, which are used in 
the decode process (see 
org.apache.myfaces.shared.renderkit.html.HtmlRendererUtils.decodeClientBehaviors()
 ), are used to calculate the affected components, but the good part is if you 
use c:if to skip components from the component tree, they will not be used. 

There is not any reference in the spec about this. "In theory", include it will 
not cause any side effects more than solve the problem described here. The only 
thing that suppose a problem is this propose a different behavior from the one 
found in the RI (Mojarra), maybe not thought by the EG when the spec was built.

I don't know what to do in this case. A custom <f:ajax> component with this 
behavior in mind sounds better for me than change the default behavior. Any 
thoughts?

                
> The render attribute of AjaxBehavior should support late value expression 
> evaluation
> ------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3542
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3542
>             Project: MyFaces Core
>          Issue Type: New Feature
>            Reporter: Bernd Bohmann
>         Attachments: late-render-expression-0.png, 
> late-render-expression-1.png, late-render-expression-2.png, 
> late-render-expression-3.png, late-render-expression-4.png, 
> late-render-expression.tgz
>
>
> The render attribute of AjaxBehavior should evaluated during post-back after 
> 'Invoke Application' and before 'Render Response'. It's easly to add this 
> feature with a own PartialViewContext. But there is no call to processPartial 
> with 'Invoke Application'. The Phase 'Render Response' is too late if you are 
> using c:if to skip components from the component tree. See attached example 
> app and pictures.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to