EL 2.1和2.2之间的差异

adb*_*dkb 4 java el

我正在寻找EL 2.1和2.2之间的差异列表.

我知道EL 2.1和2.2之间的一个区别是能够在2.2中传递方法参数.还有其他差异吗?

是否有可用于差异的功能比较图表?我一直在寻找几天,到目前为止还没能找到它.

谢谢

Bal*_*usC 6

答案在EL 2.2中.规范文件.这是相关的摘录:

A.1维护1和维护版本2之间的更改

此版本的主要变化是在EL中添加了带参数的方法调用,例如#{trader.buy("JAVA")}.

  • 添加了一种方法javax.el.ELResolver:
    • Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params).

  • 添加了一种方法javax.el.BeanELResolver:
    • Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params).

  • 添加了一种方法javax.el.CompositeELResolver:
    • Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params).

  • 第1.1.1节.添加到第一段:

    侨胞,.操作者也可以用来调用方法,当该方法名是已知的,但[]操作者可以用来动态地调用方法.

  • 第1.2.1节.更改最后一段的最后一部分

    在评估时,EL API验证该方法是否符合在分析时提供的预期签名.因此没有强制执行.

    在评估时,如果在解析时提供预期签名,则EL API验证该方法是否符合预期签名,因此不执行强制.如果在分析时未提供预期签名,则在评估时,用表达式中的参数信息识别该方法,并且将参数强制转换为各自的形式类型.

  • 第1.6节.添加了带参数的方法调用语法.修改了表达式的评估步骤以处理带参数的方法调用.

  • 第1.19节.生产ValueSuffix包括可选参数.

没有提到其他变化.所以,它确实只是方法调用功能.