Thymeleafを書籍で学びたい方やThymeleafと一緒にSpringも習得したい方におすすめな書籍です。
Springについての書籍ですが、Thymeleafの基本構文や他システムとの連携など30ページほど取り上げられています。
ThymeleafとSpringは親和性の高い技術なので、これを機にSpringを学んでみるのはいかがでしょうか?
<th:block th:if="${!#lists.isEmpty(results) and #strings.isEmpty(errorMessage) or #lists.isEmpty(results)}">
<!-- resultsが空でない かつ errorMessageが空 または resultsが空の場合の処理 -->
</th:block>
th:switch
th:switch
と
th:case
を使用して2つ以上の条件分岐を実装することができます。
th:case
がtrueと判断された場合、タグが実行されます。
th:case=*
は
th:case
の条件のいずれにも当てはまらなかった際に評価されます。
<!-- priorityが1の場合'LOW', 2の場合'MIDDLE', 3の場合'HIGH', 1~3以外の場合'UNKNOWN'を表示 -->
<th:block th:switch="${priority}">
<span th:case=1 th:text="LOW"></span>
<span th:case=2 th:text="MIDDLE"></span>
<span th:case=3 th:text="HIGH"></span>
<span th:case=* th:text="UNKNOWN"></span>
</th:block>
三項演算子
"${条件式}? trueの場合の処理 : falseの場合の処理
で三項演算子を実装することができます。
falseの場合の処理は省略可能です。
<!-- isReadyがtrueの場合'OK', falseの場合'NG'を表示 -->
<span th:text="${isReady}? 'OK' : 'NG'"></span>
<!-- isReadyがtrueの場合'Hello'を表示 -->
<span th:text="${isReady}? 'Hello'"></span>
if / elseを実装する
残念ながら、Thymeleafには
if / elseにあたる構文はありません
。ここでは、代替方法を2つ紹介します。