【问题标题】:Differences between EL 2.1 and 2.2EL 2.1 和 2.2 之间的差异
【发布时间】:2011-11-04 09:15:06
【问题描述】:

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

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

是否有任何功能比较图表可用于差异?找了几天,一直没找到。

谢谢

【问题讨论】:

    标签: java el


    【解决方案1】:

    答案在EL 2.2. specification 文档中。以下是相关性摘录:

    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 的产生包括可选参数。

    未提及其他更改。所以,确实只是方法调用能力而已。

    【讨论】:

    猜你喜欢
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 2010-10-19
    • 2020-09-15
    相关资源
    最近更新 更多