Spring Expression Language(SpEL)和统一表达语言(UEL)之间有什么区别?
官方Spring文档说:
“语言语法与Unified EL类似,但提供了其他功能,最值得注意的是方法调用和基本字符串模板功能。” (见http://static.springsource.org/spring/docs/current/spring-framework-reference/html/expressions.html)
方法调用的区别究竟是什么?
还有一些差异吗?
THX, 马蒂亚斯
答案 0 :(得分:3)
Unified EL是一种真正的模板语言,它无法调用方法。该语言只允许您访问Java bean的属性而不是它们的方法。 EL 2.2允许您调用方法,因此该参数不再有效。
Spring El是一种强大的语言,因为它允许您调用方法和构造函数,进行赋值和过滤集合。如果在JSP视图中使用Spring EL,使用 spring:eval 标记,您还可以自动获得spring转换器/格式化程序的好处。它是一个很棒的工具,但是应该谨慎使用,因为它很容易将各种应用程序逻辑放在你的视图中。
除了JSP视图之外,Spring EL可以在Spring框架的其他部分中使用,就像使用@PreAuthorize注释的安全表达式一样。