Leonardo Uribe created MYFACES-4099:
---------------------------------------
Summary: 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
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)