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 2017/02/21 23:55:44 UTC

[jira] [Updated] (MYFACES-4099) Allow resolve #{cc} inside templates called from a composite component

     [ https://issues.apache.org/jira/browse/MYFACES-4099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leonardo Uribe updated MYFACES-4099:
------------------------------------
    Status: Patch Available  (was: Open)

> Allow resolve #{cc} inside templates called from a composite component
> ----------------------------------------------------------------------
>
>                 Key: MYFACES-4099
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4099
>             Project: MyFaces Core
>          Issue Type: Improvement
>    Affects Versions: 2.2.12
>            Reporter: Thomas Andraschko
>            Assignee: Leonardo Uribe
>         Attachments: TagAttributeImpl.java.patch
>
>
> It has been reported this scenario:
> {code:xml}
> <cc:implementation>
>      <ui:include src="#{cc.page}"/>
> </cc:implementation>
> {code}
> In the included page:
> {code:xml}
> <ui:composition ...>
>      <test:anoterCompositeComponent locale="#{cc.someProperty}"/>
> </ui:composition>
> {code}
> The problem right now is such kind of indirection has not been taken into account for #{cc} EL resolution algorithm. It is supposed that any resolution of #{cc} happens inside the composite component .xhtml and not indirectly through a template like is happening in the previous example.
> This code leads to an StackOverflowException, because the algorithm cannot find the right composite component and by default it takes the closest one.
> In MyFaces it is possible to pass the values as parameters of ui:include, but the point is it is better if we allow these example to work.
> Please note this is not a bug. This looks like an improvement. The challenge here is expressions using #{cc} outside a composite component xhtml are not cacheable, so we need to study if this improvement can be done or not.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)