SpringBootのお勉強-Thymeleafとは-
Thymeleafとは
- テンプレートエンジンのこと
- テンプレートにデータを埋め込み、ドキュメントを生成することができる
Thymeleafの特徴
Thymeleafのテンプレート
- XHTML, HTML5で書かれたテンプレートをDOMに変換してから処理をおこなう
- 「処理対象のDOMノード」、「DOMノードに適用する処理」は、thネームスペースの属性(th属性)を使用して指定する
- 例1:トップ画面に戻るためのaタグ
<a href="../top.html" th:href="@{/}">トップへ</a>
- 例2:属性値に指定した値をサニタイジングして、h1タグに出力する(HelloWorld)
<h1 th:text="Hello,World!?"></h1>
- 例1:トップ画面に戻るためのaタグ
- th属性が指定されているDOMノードは、「プロセッサ」コンポーネントとによってDOM操作(追加・削除・変更)が行われる
- th属性の属性値には、OGNL(Object-Graph Navigation Language)と呼ばれる式言語を指定でき、ユーザー定義のオブジェクトやThymeleafが提供する暗黙オブジェクトにアクセスができる
Dialect
- 以下の3つを相称して、Dialectと呼ぶ
- デフォルトでは、StandardDialectクラスが使用される
- Dialectは拡張可能であり、thymeleaf-spring4では、StandardDialectクラスを継承した、SpringStandardDialectクラスが使用される
- Dialectを新しく追加することも可能で、例としては以下の2つを利用して利用することができる
- Thymeleaf Layout Dialect
- Spring Security Dialect
ThymeleafとSpringの連携
- Thymeleafが提供するthymeleaf-spring4モジュールを利用する
- コレを利用することで、JSP向けのタグライブラリと同様の機能をThymeleafで利用することができる。 代表的な機能は以下の通り。
- SpringMVCのViewとして扱うことができる
- テンプレート内で、SpringELを利用することができる
- テンプレートとフォームクラス及び入力値チェック結果のバインドができる
- Springのメッセージリソースを利用して、国際化対応のメッセージを表示できる
- コレを利用することで、JSP向けのタグライブラリと同様の機能をThymeleafで利用することができる。 代表的な機能は以下の通り。
※この記事は、以下の書籍を参考に記載しております。
Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発 | 株式会社NTTデータ | コンピュータ・IT | Kindleストア | Amazon
test
Hello,World!?
No | Text |
---|---|
1 | Hello, |
2 | World |