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