myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (JIRA)" <>
Subject [jira] [Updated] (MYFACES-4099) Allow resolve #{cc} inside templates called from a composite component
Date Tue, 21 Feb 2017 23:55:44 GMT


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

> Allow resolve #{cc} inside templates called from a composite component
> ----------------------------------------------------------------------
>                 Key: MYFACES-4099
>                 URL:
>             Project: MyFaces Core
>          Issue Type: Improvement
>    Affects Versions: 2.2.12
>            Reporter: Thomas Andraschko
>            Assignee: Leonardo Uribe
>         Attachments:
> It has been reported this scenario:
> {code:xml}
> <cc:implementation>
>      <ui:include src="#{}"/>
> </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

View raw message