ViewのテンプレートエンジンにThymeleafを使用する
ViewのテンプレートエンジンとしてThymeleafを使用する方法を説明します。
Tip
Thymeleafには、以下のメリットがあります。
ドキュメントが豊富で容易に利用できます。(一部日本語化されたドキュメントも提供されています)
プロダクション環境で利用するテンプレート(html)をそのままブラウザで表示して確認できます。
Tip
以下のリンク先にあるとおり、Spring Bootでは、特別な理由がない限りテンプレートエンジンにJSPを使用するのは避けるべきとされています。
以下のサンプルコードの動作確認環境については、 動作確認環境と依存ライブラリについて を参照してください。
テンプレートエンジンとしてThymeleafを使用できるようにする
- pom.xml
依存ライブラリにspring-boot-starter-thymeleafを追加することで、Thymeleafが使用できるようになります。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
テンプレートの配置とControllerでの指定
テンプレートは、下の例のようにsrc/main/resources/templates配下に配置します。
src\main\resources\templates
│ user.html
│
├─common
│ footer.html
│ head.html
│ header.html
│
└─default
completion.html
input.html
Controllerで指定するテンプレートのファイル名には、templatesより下のパスを指定します。拡張子(.html)の指定は省略可能です。 templates/default/input.htmlを使用したい場合には、Controllerでは下の例のようにdefault/inputと指定します。
@GetMapping
public String get(Model model) {
model.addAttribute("nowDate", LocalDate.now());
return "default/input";
}
サンプル全体は template-engine-thymeleaf-sample を参照してください。