EL 2.1 和 2.2 之间的差异

发布于 2024-12-01 13:11:47 字数 151 浏览 0 评论 0原文

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

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

有没有可用的功能比较表来说明差异?我已经找了好几天了,到目前为止还没有找到它。

谢谢

I am looking for list of differences between EL 2.1 and 2.2.

I know one difference between EL 2.1 and 2.2 is ability to pass method parameters in 2.2. Are there any other differences?

Is there any feature comparison chart available for the differences? I have been searching for a few days and haven't been able to locate it so far.

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拧巴小姐 2024-12-08 13:11:47

答案就在 EL 2.2 中。规范文档。以下是相关性的摘录:

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

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

  • javax.el.E​​LResolver中添加了一种方法:
    • 对象调用(ELContext 上下文、对象基础、对象方法、类[]
      paramTypes,Object[] params)

  • javax.el.BeanELResolver中添加了一种方法:
    • 对象调用(ELContext 上下文、对象基础、对象方法、类[]
      paramTypes,Object[] params)

  • javax.el.CompositeELResolver中添加了一种方法:
    • 对象调用(ELContext 上下文、对象基础、对象方法、类[]
      paramTypes,Object[] params)

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

    同样,.操作符也可以用来调用方法,当方法名
    已知,但 [] 运算符可用于动态调用方法。

  • 第 1.2.1 节。将最后一段的最后部分更改为

    经过评估,EL API 验证该方法是否符合预期
    解析时提供的签名。因此没有执行任何强制。

    根据评估,如果在解析时提供了预期的签名,则 EL API
    验证该方法是否符合预期的签名,因此存在
    没有进行任何胁迫。如果在解析时未提供预期的签名,
    然后在评估时,该方法被识别为
    表达式中的参数和参数被强制转换为各自的
    正式类型。

  • 第 1.6 节。添加了带参数的方法调用语法。修改了表达式求值步骤以处理该方法
    带参数的调用。

  • 第 1.19 节。 ValueSuffix 的生成包含可选参数。

没有提及其他变化。所以,它确实只是方法调用能力。

The answer is in the EL 2.2. specification document. Here's an extract of relevance:

A.1 Changes between Maintenance 1 and Maintenance Release 2

The main change in this release is the addition of method invokations with
parameters in the EL, such as #{trader.buy("JAVA")}.

  • Added one method in javax.el.ELResolver:
    • Object invoke(ELContext context, Object base, Object method, Class<?>[]
      paramTypes, Object[] params)
      .

  • Added one method in javax.el.BeanELResolver:
    • Object invoke(ELContext context, Object base, Object method, Class<?>[]
      paramTypes, Object[] params)
      .

  • Added one method in javax.el.CompositeELResolver:
    • Object invoke(ELContext context, Object base, Object method, Class<?>[]
      paramTypes, Object[] params)
      .

  • Section 1.1.1. Added to the first paragraph:

    Simlarly, . operator can also be used to invoke methods, when the method name
    is known, but the [] operator can be used to invoke methods dynamically.

  • Section 1.2.1. Change the last part of the last paragraph from

    Upon evaluation, the EL API verifies that the method conforms to the expected
    signature provided at parse time. There is therefore no coercion performed.

    to

    Upon evaluation, if the expected signature is provided at parse time, the EL API
    verifies that the method conforms to the expected signature, and there is therefore
    no coercion performed. If the expected signature is not provided at parse time,
    then at evaluation, the method is identified with the information of the
    parameters in the expression and the parameters are coerced to the respective
    formal types.

  • Section 1.6. Added syntax for method invocation with parameters. The steps for evaluation of the expression was modified to handle the method
    invocations with parameters.

  • Section 1.19. Production of ValueSuffix includes the optional parameters.

No other changes are mentioned. So, it's indeed just only the method invocation capability.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文