Остерегайтесь нулевого весеннего выражения - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть следующее на странице 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 возможно, и любой шаг может быть нулевым. В настоящее время я решил эту проблему, обойдя «поля» ->

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

и проверив каждый шаг на наличие нуля. Это беспорядок. Можно ли это сделать с помощью чего-то, встроенного в SPeL

. Какой самый простой способ заставить его работать с нулями? Молча проваливается и не устанавливает currentField идеально.

1 Ответ

1 голос
/ 26 февраля 2020

где bar - это поле (которое может быть нулевым) foo

* На помощь приходит оператор Null-safe Navigator :

value="foo.bar?.name"

Подробнее см. В документации: https://docs.spring.io/spring/docs/5.2.4.RELEASE/spring-framework-reference/core.html#expressions -оператор-сейф-навигация

...