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

Использование Thymeleaf, когда значение равно нулю

У меня есть некоторые значения в моей базе данных, которые могут быть пустыми, если они еще не были введены.

Но когда я использую Thymeleaf в своем html, он дает ошибку при анализе нулевых значений.

Есть ли способ справиться с этим?

4b9b3361

Ответ 1

Самый короткий способ - '?' оператор. Если у вас есть объект пользователя со встроенным объектом Address, чтобы получить доступ к полям объекта Address и распечатать их, если адрес не равен null, иначе здесь будет пустой столбец:

<td th:text="${user?.address?.city}"></td>

Ответ 2

Конечно, есть. Вы можете, например, использовать условные выражения . Например:

<span th:text="${someObject.someProperty != null} ? ${someObject.someProperty} : 'null value!'">someValue</span>

Вы можете даже опустить выражение "else":

<span th:text="${someObject.someProperty != null} ? ${someObject.someProperty}">someValue</span>

Вы также можете просмотреть оператор Elvis для отображения значений по умолчанию.

Ответ 3

Вы можете использовать 'th: if' вместе с 'th: text'

<span th:if="${someObject.someProperty != null}" th:text="${someObject.someProperty}">someValue</span>

Ответ 4

Это также может быть обработано с помощью оператора elvis ?:, который добавит значение по умолчанию, когда поле имеет значение null:

<span th:text="${object.property} ?: 'default value'"></span>

Ответ 5

Вы дважды делали проверку при создании

${someObject.someProperty != null} ? ${someObject.someProperty}

Вы должны сделать это чистым и простым, как показано ниже.

<td th:text="${someObject.someProperty} ? ${someObject.someProperty} : 'null value!'"></td>

Ответ 6

   <p data-th-text ="${#strings.defaultString(yourNullable,'defaultValueIfYourValueIsNull')}"></p>

Ответ 8

я использую

<div th:text ="${variable != null} ? (${variable != ''} ? ${variable} : 'empty string message') : 'null message' "></div>

Ответ 9

Вы можете использовать это решение, оно работает для меня

<span th:text="${#objects.nullSafe(doctor?.cabinet?.name,'')}"></span>