You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2012/05/31 17:17:23 UTC

[jira] [Commented] (MYFACES-3542) The render attribute of AjaxBehavior should support late value expression evaluation

    [ 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