使用 Spring EL 表达式实现安全导航操作符
时间: 2023-08-23 18:28:32 浏览: 287
spring security实现
4星 · 用户满意度95%
安全导航操作符(?.)是一种在访问对象属性或方法时,对对象进行非空判断的操作符。在 Spring EL 表达式中,可以使用安全导航操作符来避免空指针异常。
例如,假设有一个对象 user,它有一个属性 name,但有时候 user 对象可能为空,为了避免空指针异常,可以使用安全导航操作符来实现:
```
${user?.name}
```
在上面的表达式中,如果 user 对象不为空,则可以获取到 name 属性的值;如果 user 对象为空,则整个表达式的值为 null,不会抛出空指针异常。
此外,还可以使用 Elvis 操作符(?:)来设置默认值:
```
${user?.name ?: 'default'}
```
在上面的表达式中,如果 user 对象不为空,则获取到 name 属性的值;如果 user 对象为空,则使用默认值 'default'。
使用安全导航操作符可以简化代码逻辑,提高代码的健壮性和可读性。
阅读全文