SpEl表达式:
①语法:#{表达式},表达式可以是字面值也可以是对其他bean的引用,也可以引用其它bean的属性值,也可以调用方法
例如:#{bean.name.toUpperCase()}
②在调用方法的时候需要注意到nullpointException空指针异常
解决之道:#{bean.name?.toUpperCase()}这样做在调用toUpperCase之前会判断name的值是否为空
③SpEl操作类的语法:
#{T(java.lang.Math).random()}
④SpEl支持运算符
⑤SpEl中两个值进行比较 如果使用
> 这种符号会报错,这就需要使用文本替代了:
==
eq
<
lt
<=
le
>
gt
>=
ge
⑥运算符对表达式求值:
and
or
not或!
⑦SpEl可以直接访问集合中的元素:
list:#{list[index]}
map:#{map['key']}
⑧SpEl可以对集合中的值进行筛选
比如: #{persons .? [age gt
18]}就把persons集合中的年龄大于18的选出来了
查询运算符会创建一个新的集合
查询运算符:
.?[ ] 从集合中查询出与之匹配的值
.^[ ] 从集合中查询出第一个匹配项
.$[ ] 从集合中查询出最后一个匹配项
投影运算符:
.![ ] 从集合中选出特定的值放入到另外一个集合中
把年龄大于13的查询出来,把其年龄放入到新的集合中