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

Leonardo Uribe commented on MYFACES-3981:
-----------------------------------------

We cannot really change the dependencies of core. Instead, the used hack is do 
a check on the classpath to identify when EL 3.0 is being used.

Take a look at org.apache.myfaces.el.unified.ResolverBuilderForFaces

For implement JSF 2.2 section 5.6.2.8 (EL 3.0 support), there are some lines 
that check for "javax.el.StaticFieldELResolver" class.

This is not a bug, instead it is an improvement (it should be enabled/disabled 
using a web config param, by default disabled), because JSF 2.2 is java 6 
compatible, not java 8. The right way to do it is add a EL Resolver at the end 
of the chain (after list.add(new BeanELResolver()) or maybe use an alternate 
ScopedAttributeResolver) and on that resolver add the missing lines (the ones 
provided in the patch), just like javax.el.StaticFieldELResolver is added.

> Unable to resolve Integer API as Lambda expression in a facelet
> ---------------------------------------------------------------
>
>                 Key: MYFACES-3981
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3981
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-344
>    Affects Versions: 2.2.7
>            Reporter: Anup
>            Priority: Minor
>         Attachments: myfaces-3981-2.2.8.patch
>
>
> Following testcases does not print anything in a facelet
> <h:outputText id="out6" value="#{Integer.numberOfTrailingZeros(16)}"/>
> <h:outputText id="out7" value="#{((firstStr, secondStr)-> 
> (Integer.compare(firstInt,secondInt)))(5,6)}" />



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to