Spring表达式语言(Spring Expression Language,简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。
语法:
#{...}
字面量:
整数: #{8}
浮点数: #{8.8}
字符串: #{'玛莎拉蒂'}
布尔值: #{true}
静态方法调用:
#{T(java.lang.Math).PI * 75.8f}
引用bean、属性、方法:
#{car}
#{car.toString()}
#{car.price > 400000 and age > 30}
#{car.price > 30000 ? '金领' : '白领'}
#{address.province + '省' + address.city + '市' + address.area + '区'}
支持的运算符号:
算术运算符:+,-,*,/,%,^
比较运算符:< , > , == , >= , <= , != ,lt , gt , eg , le , ge ,eq
逻辑运算符:and , or , not , |
Elvis 操作符:?:
#{kenny.song ?: 'Greensleeves'}
正则表达式:#{admin.email matches '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}'}
避免空指针的运算符: ?.
#{songSelector.selectSong()?.toUpperCase()}
评论