Thymeleafとは

「Thymeleaf」はHTMLなどのテンプレートエンジン。「Spring Boot」ではJSPではなく「Thymeleaf」を使う。

執筆時バージョン
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の直接の傘下ではない。

サイト内記事

Appendix B: 改訂履歴

  • v1.0, 2016-08-07: 初稿