当前位置: 首页 > 面试题库 >

EL 2.1和2.2之间的差异

邢运良
2023-03-14
问题内容

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

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

是否有针对这些差异的功能比较表?我已经搜索了几天,但到目前为止找不到它。

谢谢


问题答案:

答案是在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包括可选参数。

没有提及其他更改。因此,实际上仅是方法调用功能。



 类似资料:
  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。

  • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?

  • 问题内容: package main 该代码可以很好地工作。但是,如果按如下所示更改方法,则会导致死循环。区别在于将替换为。为什么? 问题答案: 因为程序包检查要打印的值是否具有方法(或换句话说:是否实现接口),如果是,则将调用它以获取值的表示形式。 软件包doc中对此进行了说明: […]如果操作数实现String()字符串方法,则将调用该方法将对象转换为字符串,然后根据动词的要求对其进行格式化(

  • 我正在通过做微控制器项目来自学C++。我当前的项目是使用一对或Adafruit羽毛分组无线电。无线电数据包的库函数需要一个C样式的字符串(我相信),我理解它是一个char的数组。 我已经设置了一个枚举来反映接收方的各种操作,并希望将该状态发送回发送方。所以我想把枚举变成char的数组。 在搜索将枚举转换为char数组的方法时,最简单的方法(对我来说)是将枚举变量传递给带有switch语句的函数,该

  • 我是Hadoop的新手。我正在浏览专业Hadoop解决方案的书,以获得一些关于Hadoop和生态系统的知识。我想澄清HDFS和HBase之间的主要区别是什么。我理解的方式就像两者都是存储系统。它们的区别只是在访问数据方面。HBase通过非关系型数据库访问数据,HDFS使用计算框架(MapReduce)处理数据。如果是这种情况,为什么我们不能只有一个存储HDFS或HBase。根据需求,他们将插入和插

  • 有人能解释一下 和 我不知道确切的意思。