[
https://issues.apache.org/jira/browse/MYFACES-4589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17697776#comment-17697776
]
Thomas Andraschko commented on MYFACES-4589:
--------------------------------------------
it seems the default order of the ELResolver isnt correct anymore, i will check
that
we likely moved CDI to the end for performance reasons
please see: https://myfaces.apache.org/#/coreConceptsELResolverOrdering
> PropertyNotFoundException in nested components if attribute has same name as
> bean
> ---------------------------------------------------------------------------------
>
> Key: MYFACES-4589
> URL: https://issues.apache.org/jira/browse/MYFACES-4589
> Project: MyFaces Core
> Issue Type: Bug
> Components: General
> Affects Versions: 4.0.0, 4.0.1
> Environment: primefaces-test project, jakarta branch
> Reporter: Manuel K
> Priority: Major
>
> I apologize in advance if this one is a SOB to debug and hopefully fix. Maybe
> not though?
> Given the following nested component structure:
> panel (composite component) -> panel (taglib component) -> departmentInfo
> (composite component) -> outputIconText (composite component) -> icon (taglib
> component)
> The panel composite component and the panel taglib component have an
> attribute called "color". The departmentInfo component uses "color" in an EL
> expression, which is supposed to be a call to a named bean "Color":
> {code:java}
> <?xml version="1.0" encoding="UTF-8"?>
> <ui:component xmlns="http://www.w3.org/1999/xhtml"
> xmlns:cc="http://xmlns.jcp.org/jsf/composite"
> xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
> xmlns:test="http://xmlns.jcp.org/jsf/composite/components">
> <cc:interface>
> <cc:attribute name="value"
> required="true"
> type="org.primefaces.test.Department"/>
> </cc:interface>
> <cc:implementation>
> <div id="#{cc.clientId}">
> <test:outputIconText icon="#{icon.test} #{color.blue}"
> value="#{cc.attrs.value.name}"/>
> </div>
> </cc:implementation>
> </ui:component> {code}
> Somehow it seems to be interpreted as the attribute though, because the
> following exception occurs:
> {code:java}
> Caused by: jakarta.el.PropertyNotFoundException: Property [blue] not found on
> type [java.lang.String]
> at jakarta.el.BeanELResolver$BeanProperties.get (BeanELResolver.java:251)
> {code}
> The exception occurs only using MyFaces ({_}mvn clean jetty:run
> -Pmyfaces40{_}) but works using Mojarra ({_}mvn clean jetty:run
> -Pmojarra40{_}). You can find my reproducer here:
> [https://github.com/mkomko/primefaces-test/tree/expression-error-property-not-found]
> Of course, _org.apache.myfaces.STRICT_JSF_2_FACELETS_COMPATIBILITY_ is set to
> _true_ but it does not matter in this case.
> Thank you very much in advance!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)