spring el表达式高级用法,给出java代码
时间: 2023-08-10 19:30:06 浏览: 322
Spring EL 表达式提供了很多高级用法,包括:集合筛选、三目运算符、正则表达式、变量定义与引用、安全导航操作符等等。
下面给出一些使用 Spring EL 表达式的 Java 代码示例:
1. 集合筛选:
```
// 使用 Spring EL 表达式筛选出 age 大于 18 的 Person 对象
List<Person> adultList = personList.stream()
.filter(p -> parser.parseExpression("age > 18")
.getValue(p, Boolean.class))
.collect(Collectors.toList());
```
2. 三目运算符:
```
// 使用 Spring EL 表达式实现三目运算符
int result = parser.parseExpression("score > 60 ? 1 : 0")
.getValue(student, Integer.class);
```
3. 正则表达式:
```
// 使用 Spring EL 表达式判断字符串是否匹配正则表达式
boolean isMatch = parser.parseExpression("'hello world'.matches('.*llo.*')")
.getValue(Boolean.class);
```
4. 变量定义与引用:
```
// 使用 Spring EL 表达式定义变量并引用
EvaluationContext context = new StandardEvaluationContext();
context.setVariable("count", 5);
int result = parser.parseExpression("#count * 2").getValue(context, Integer.class);
```
5. 安全导航操作符:
```
// 使用 Spring EL 表达式实现安全导航操作符
String name = parser.parseExpression("user?.name").getValue(context, String.class);
```
以上代码示例仅供参考,具体用法可根据自己的需求进行调整。
阅读全文