#java #thymeleaf
#java #thymeleaf
Вопрос:
Мне нужно поместить тег или текст на основе некоторого выражения. Я попробовал выражение, подобное этому bud, не сработало.
<td th:text="${reservation[0] == null ? <a href="/reserve">Reserve</a> : reservation[0] == request.username ? <a href="/cancel">Cancel</a> : Reserved}"></td>
Ответ №1:
Попробуйте это :
<td th:utext="${reservation[0] == null} ? '<a href="/reserve">Reserve</a>' : ${reservation[0] == request.username} ? '<a href="/cancel">Cancel</a>' : 'Reserved'"></td>
Вы также можете упростить чтение с помощью нескольких условий тестирования:
<td th:if="${reservation[0] == null}"><a href="/reserve">Reserve</a></td>
<td th:if="${reservation[0] == request.username}"><a href="/cancel">Cancel</a></td>
Если условие не выполнено, то тег th не отображается.
Ответ №2:
Оператор переключения Thymeleaf предоставляет чистую альтернативу:
<table>
<tr>
<th:block th:switch="${reservation[0]}">
<td><a th:case="null" th:text="Reserve" href="/reserve"></a><td>
<td><a th:case="${request.username}" th:text="Cancel" href="/cancel"></a><td>
<td th:case="*" th:text="'Reserved'"></td>
</th:block>
</tr>
</table>