Spring表达式中的防止空值

问题描述 投票:0回答:1

我在jsp页面中具有以下内容,其中bar是foo的字段(可以为null)

<c:set var="fieldAccessorsSuppliedToComponent" value="foo.bar.name" />

//omissions

<spring:eval expression="${fieldAccessorsSuppliedToComponent}" var="currentField"/>

我无法控制fieldAccessorsSuppliedToComponent是什么,foo.bar1.bar2.bar3.address.city是可能的,任何步骤都可以为空。我目前已通过遍历“字段”来解决它->

<c:set var="fields" value="${fn:split(column, '.')}" />

并测试每个步骤是否为空。一团糟。可以用SPeL中内置的东西来完成吗

使它与null一起工作的最简单方法是什么?静默失败并且不设置currentField是理想的选择。

jsp spring-el
1个回答
1
投票

其中bar是foo的字段(可以为null)

Null-safer Navigator操作员进行营救:

value="foo.bar?.name"

请参见文档中的更多信息:https://docs.spring.io/spring/docs/5.2.4.RELEASE/spring-framework-reference/core.html#expressions-operator-safe-navigation

© www.soinside.com 2019 - 2024. All rights reserved.