Spring Expression Language(SpEL)与统一表达语言(UEL)的区别

时间:2012-08-28 08:58:13

标签: spring spring-el

Spring Expression Language(SpEL)和统一表达语言(UEL)之间有什么区别?

官方Spring文档说:

  

“语言语法与Unified EL类似,但提供了其他功能,最值得注意的是方法调用和基本字符串模板功能。” (见http://static.springsource.org/spring/docs/current/spring-framework-reference/html/expressions.html

方法调用的区别究竟是什么?

还有一些差异吗?

THX, 马蒂亚斯

1 个答案:

答案 0 :(得分:3)

Unified EL是一种真正的模板语言,它无法调用方法。该语言只允许您访问Java bean的属性而不是它们的方法。 EL 2.2允许您调用方法,因此该参数不再有效。

Spring El是一种强大的语言,因为它允许您调用方法和构造函数,进行赋值和过滤集合。如果在JSP视图中使用Spring EL,使用 spring:eval 标记,您还可以自动获得spring转换器/格式化程序的好处。它是一个很棒的工具,但是应该谨慎使用,因为它很容易将各种应用程序逻辑放在你的视图中。

除了JSP视图之外,Spring EL可以在Spring框架的其他部分中使用,就像使用@PreAuthorize注释的安全表达式一样。

相关问题