Spring el表达式应用
作者:互联网
一、简介
Spring的表达式语言,简称SpELl,是一个支持运行时检查和操作对象图的强大的表达式语言,和我们之前学习过的JSP中的EL表达式类似,SPEL使用的是#{}作为定界符,所有在大括号中的字符都被认为的SPEL,SPEL为bean的属性进行动态赋值提供了非常大的便利
二、 SpringEL的使用
(1)通过bean的ID对bean进行引用,类似于 ref标签,比ref更强大
(2)可以调用方法以及引用对象的属性
// 方法
parser.parseExpression("#person.getAge()").getValue(context, Integer.class); // 方法访问
//属性
parser.parseExpression("#person.name").getValue(context, String.class);
(3)可以进行计算
- 关系操作符, 包括:
eq(==)
,ne(!=)
,lt()<
,le(<=)
,gt(>)
,ge(>=)
- 逻辑运算符, 包括:
and(&&)
,or(||)
,not(!)
- 数学操作符, 包括: 加(
+
), 减(-
), 乘(*
), 除(/
), 取模(%
), 幂指数(^
) - 其他操作符, 如: 三元操作符,
instanceof
, 赋值(=
), 正则匹配
parser.parseExpression("1 > -1").getValue(Boolean.class); // true
parser.parseExpression("1 gt -1").getValue(Boolean.class); // true
(4)支持正则表达式
<!-- 使用正则判断 -->
<property name="email" value="#{car3.getBrand() matches '\w{3,5}@\w{3,8}.(com|cn)'}"></property>
三、总结:
SpringEL表达式操作类似于jsp中的EL表达式,使用#{}作为定界符,可以进行一些常用的操作。
标签:el,parseExpression,Spring,parser,getValue,操作符,class,表达式 来源: https://blog.csdn.net/zhang09090606/article/details/120862307