myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Updated] (MYFACES-4099) Allow resolve #{cc} inside templates called from a composite component
Date Fri, 24 Feb 2017 00:38:44 GMT

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

Leonardo Uribe updated MYFACES-4099:
------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.3.0
                   2.2.13
                   2.1.19
           Status: Resolved  (was: Patch Available)

I finally committed a variant of the solution proposed, after check inline EL is working well
without changes. Fixed on 2.1.x, 2.2.x and 2.3.x

> 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
>             Fix For: 2.1.19, 2.2.13, 2.3.0
>
>         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)

Mime
View raw message