Подтвердить что ты не робот

Обработка нулевых значений в Freemarker

Как обрабатывать значения null во Freemarker? Я получаю некоторые исключения в шаблоне, когда в данных присутствуют значения null.

4b9b3361

Ответ 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>