При использовании трехместного оператора в SpEL выражении возможно использование одного и того же выражения. Например
<property name="song" value="#{kenny.song != null ? kenny.song : 'Greensleeves'}"/>
<property name="song" value="#{kenny.song != null ? kenny.song : 'Greensleeves'}"/>
Это выражение построено правильно, но в нем имеется повторяющийся элемент – ссылка на свойство kenny.song. Язык SpEL предлагает разновидность трехместного оператора, упрощающую подобные выражения:
<property name="song" value="#{kenny.song ?: 'Greensleeves'}"/>
Как и в предыдущем примере, выражение вернет значение свойства kenny.song или «Greensleeves», если свойство kenny.song равно null. При таком способе использования оператор ?: называют оператором Элвиса. Этим странным названием оператор обязан сравнению со смайликами – если повернуть его на 90 градусов (по часовой стрелке), вопросительный знак будет напоминать прическу знаменитого Элвиса Пресли (Elvis Presley).
Комментариев нет:
Отправить комментарий