5

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

官方 Spring 文档说:

“语言语法类似于统一 EL,但提供了附加功能,最显着的是方法调用和基本字符串模板功能。” (见http://static.springsource.org/spring/docs/current/spring-framework-reference/html/expressions.html

方法调用到底有什么区别?

还有一些不同之处吗?

谢谢,马蒂亚斯

4

1 回答 1

4

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

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

除了 JSP 视图之外,Spring EL 还可以用于 Spring 框架的其他部分,例如带有 @PreAuthorize 注释的安全表达式。

于 2012-10-12T23:14:30.873 回答