Условное выражение (документы):
<tr th:class="${row.even}? 'even' : 'odd'">
Я хочу использовать условное выражение в поле th :. Но каждый раз, когда я пытаюсь это сделать, я получаю следующую ошибку:
* в привязках полей Spring разрешены только выражения переменных $ {...} или выражения выбора {...}
Например:
// This works fine.
<input type="text" th:value="${object.covered} ? 'yes' : 'no'" />
// This on the other hand, generates the error mentioned earlier.
// Which does make sense, cause it would otherwise generate invalid attributes.
<input type="text" th:field="${object.covered} ? 'yes' : 'no'" />
// Combining the two does not work.
<input type="text" th:field="${object.covered}" th:value="${object.covered} ? 'yes' : 'no'" />
По сути, я хочу создать поле th: field, значение которого определяется условным выражением.
Более конкретно, в моей реализации я хочу заполнить поле ввода числом (Java long) из моей модели. И если это число равно нулю или меньше, я хочу вместо этого использовать заполнитель.
// Ultimateley, what I want to achieve is something like this.
<input type="text" th:field="${person.age}"
th:value="${person.age} le 0 ? null : ${person.age}"
placeholder="age" />
Как использовать th: field и определить его значение с помощью условного выражения с помощью Spring Thymeleaf?
(Thymeleaf 2.1.5 и Spring Boot 1.4.2)