Как обрабатывать значения null
во Freemarker? Я получаю некоторые исключения в шаблоне, когда в данных присутствуют значения null
.
Обработка нулевых значений в Freemarker
Ответ 1
Вы можете использовать оператор тестирования ??
:
Это проверяет, не является ли атрибут объекта недействительным:
<#if object.attribute??></#if>
Это проверяет, не является ли объект или атрибут нулевым:
<#if (object.attribute)??></#if>
Источник: Руководство FreeMarker
Ответ 2
Начиная с freemarker 2.3.7, вы можете использовать этот синтаксис:
${(object.attribute)!}
или, если вы хотите отобразить текст по умолчанию, если атрибут null
:
${(object.attribute)!"default text"}
Ответ 3
Я думаю, что это работает по-другому.
<#if object.attribute??>
Do whatever you want....
</#if>
Если object.attribute
не является NULL, тогда содержимое будет напечатано.
Ответ 4
Используйте оператор ??
в конце вашего оператора <#if>
.
В этом примере показано, как обрабатывать значения null
для двух списков в шаблоне Freemaker.
List of cars:
<#if cars??>
<#list cars as car>${car.owner};</#list>
</#if>
List of motocycles:
<#if motocycles??>
<#list motocycles as motocycle>${motocycle.owner};</#list>
</#if>