Как обрабатывать значения 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>