[ 
https://issues.apache.org/jira/browse/MYFACES-4589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17702652#comment-17702652
 ] 

Melloware commented on MYFACES-4589:
------------------------------------

[~mkomko] BalusC is still around he just jumps in a does a bunch of Mojarra and 
OmniFaces stuff when it fits his schedule.  A lot of time he commits on 
weekends when he must be free but he has not gone anywhere.

 

As for 4.0 it looks like EL is still noCahe and always recompile
{code:java}
    @JSFWebConfigParam(since="2.0.8", defaultValue="noCache",
                       expectedValues="noCache, strict, allowCset, always, 
alwaysRecompile",
                       group="EL", tags="performance")
    public static final String CACHE_EL_EXPRESSIONS = 
"org.apache.myfaces.CACHE_EL_EXPRESSIONS";
    private static final String CACHE_EL_EXPRESSIONS_DEFAULT = 
ELExpressionCacheMode.alwaysRecompile.name(); {code}

> 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)

Reply via email to