Thymeleafとは
「Thymeleaf」はHTMLなどのテンプレートエンジン。「Spring Boot」ではJSPではなく「Thymeleaf」を使う。
Table of Contents
この記事は最終更新から3年以上経過しています。
執筆時バージョン
Java | Java SE 8 |
「Thymeleaf」はHTMLなどのテンプレートエンジン。「Spring Boot」では標準的に使われている。
特徴としては次の点が一番大きい。
-
変数の部分を属性値で記述しているため、ブラウザで表示しても崩れない。
html(テンプレート)側の例
<p>こんにちは、<span th:text="${member.name}">(メンバーの名前)</span>さん</p>
出力
<p>こんにちは、<span>一郎</span>さん</p>
このように変数を置き換えて出力してくれる。
変数を置き換えるところはテンプレートエンジンとして当然として、注目すべきは変数の部分を属性値で記述しているところ(th:text="${member.name}"の部分)。 こう記述することによってHTML上の解釈ではなんかの属性を書いているだけなので、ブラウザで普通に表示できる。これはJSPやJSTLにはできない。処理を通して出力しないと表示が崩れる。ここがこれまでテンプレートエンジンとの一番大きな違い。特にデザイナーさんはうれしい。
「Spring Boot」ではstarterが用意されていたりとTymeleafが標準的に使える。一方JSPは制限が多いので推奨されない(設定すれば使えるが…)。よって基本的には「Thymeleaf」を選択することになる。ただ「Thymeleaf」はSpringの直接の傘下ではない。
サイト内記事
-
-
th:xxxx=""の中身に何が書けるのかという構文の話。
-
Appendix A: 参考
Appendix B: 改訂履歴
-
v1.0, 2016-08-07: 初稿