EL 2.1和2.2之间的差异
我正在寻找EL 2.1和2.2之间的差异列表。
我知道EL 2.1和2.2之间的一个区别是能够在2.2中传递方法参数。 还有其他差异吗?
是否有可用于差异的function比较图表? 我一直在寻找几天,到目前为止还没能找到它。
谢谢
答案在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 APIvalidation该方法是否符合在分析时提供的预期签名。 因此没有强制执行。
至
在评估时,如果在解析时提供预期签名,则EL APIvalidation该方法是否符合预期签名,因此不执行强制。 如果在分析时未提供预期签名,则在评估时,用表达式中的参数信息识别该方法,并且将参数强制转换为相应的forms类型。
- 第1.6节。 添加了带参数的方法调用语法。 修改了表达式的评估步骤以处理带参数的方法调用。
- 第1.19节。
ValueSuffix
生产包括可选参数。
没有提到其他变化。 所以,它确实只是方法调用function。