防止 spring 表达式中出现空值
Guard against null in spring expression
我在 jsp 页面中有以下内容,其中 bar 是 foo
的一个字段(可以为空)
<c:set var="fieldAccessorsSuppliedToComponent" value="foo.bar.name" />
//omissions
<spring:eval expression="${fieldAccessorsSuppliedToComponent}" var="currentField"/>
我无法控制 fieldAccessorsSuppliedToComponent
的结果,foo.bar1.bar2.bar3.address.city
是可能的,任何步骤都可能为空。我目前已经通过遍历 'fields' ->
解决了这个问题
<c:set var="fields" value="${fn:split(column, '.')}" />
并测试每个步骤是否为空。一团糟。可以用 SPeL 中内置的东西来完成吗
让它处理空值的最简单方法是什么?默默地失败而不设置 currentField 是理想的。
where bar is a field (which can be null) of foo
Null-safe Navigator 运算符来拯救:
value="foo.bar?.name"
我在 jsp 页面中有以下内容,其中 bar 是 foo
的一个字段(可以为空)<c:set var="fieldAccessorsSuppliedToComponent" value="foo.bar.name" />
//omissions
<spring:eval expression="${fieldAccessorsSuppliedToComponent}" var="currentField"/>
我无法控制 fieldAccessorsSuppliedToComponent
的结果,foo.bar1.bar2.bar3.address.city
是可能的,任何步骤都可能为空。我目前已经通过遍历 'fields' ->
<c:set var="fields" value="${fn:split(column, '.')}" />
并测试每个步骤是否为空。一团糟。可以用 SPeL 中内置的东西来完成吗
让它处理空值的最简单方法是什么?默默地失败而不设置 currentField 是理想的。
where bar is a field (which can be null) of foo
Null-safe Navigator 运算符来拯救:
value="foo.bar?.name"