Thymeleafテンプレートエンジンの主な機能 (4/4)
作成:2015-05-02 08:55
更新:2015-05-02 08:55
更新:2015-05-02 08:55
■ユーティリティオブジェクトについて
Thymeleafには、表示の際の処理を助けてくれる「ユーティリティオブジェクト」と呼ばれるものが用意されています。これを使うことで、ちょっとした処理は(コントローラー側であらかじめ処理をしておかなくとも)ビュー内で処理させることができます。
このユーティリティオブジェクトは、「#○○」といった形で記述されます。用意されているユーティリティオブジェクトはこんな感じです。
#dates――java.util.Date用のユーティリティ。
#calendars――java.util.Calendar用のユーティリティ。
#numbers――数値オブジェクト用のユーティリティ。
#strings――Stringオブジェクト用のユーティリティ。
#objects――オブジェクト一般のユーティリティ。
#bools――真偽値用のユーティリティメソッド。
#arrays――配列用のユーティリティメソッド。
#lists――リスト用のユーティリティメソッド。
#sets――セット用のユーティリティメソッド。
#maps――マップ用のユーティリティメソッド。
#aggregates――コレクション処理用ユーティリティ。
#messages――外部からのメッセージを取り扱うためのユーティリティ。
#ids――繰り返しでid属性を扱うためのユーティリティ。
これだけ見ても使い方はわからないでしょうから、一番使えそうな「#calendars」を使った例を挙げておきましょう。ビューに以下のような形でタグを書いてみてください。
createNow――現在の日時を表すCalendaraインスタンスを作成します。
format――第1引数のCalendarインスタンスを第2引数のフォーマットパターンでフォーマットしたテキストを返します。
この2つのメソッドを使うだけで、現在の日付を指定のパターンでフォーマットし表示できるようになります。
ユーティリティメソッドのリファレンスは以下にありますので、どんな機能が用意されているか調べてみると面白いでしょう。
http://www.thymeleaf.org/apidocs/thymeleaf/2.1.4.RELEASE/org/thymeleaf/expression/package-summary.html
このユーティリティオブジェクトは、「#○○」といった形で記述されます。用意されているユーティリティオブジェクトはこんな感じです。
#dates――java.util.Date用のユーティリティ。
#calendars――java.util.Calendar用のユーティリティ。
#numbers――数値オブジェクト用のユーティリティ。
#strings――Stringオブジェクト用のユーティリティ。
#objects――オブジェクト一般のユーティリティ。
#bools――真偽値用のユーティリティメソッド。
#arrays――配列用のユーティリティメソッド。
#lists――リスト用のユーティリティメソッド。
#sets――セット用のユーティリティメソッド。
#maps――マップ用のユーティリティメソッド。
#aggregates――コレクション処理用ユーティリティ。
#messages――外部からのメッセージを取り扱うためのユーティリティ。
#ids――繰り返しでid属性を扱うためのユーティリティ。
これだけ見ても使い方はわからないでしょうから、一番使えそうな「#calendars」を使った例を挙げておきましょう。ビューに以下のような形でタグを書いてみてください。
<p class="msg" th:text="${#calendars.format(#calendars.createNow(),これを実行すると、現在の年月日が表示されます。特に日時のための処理などはコントローラー側にはないのに、ビュー内で必要な処理をしているのです。ここでは、#calendarsにある以下のようなメソッドを呼び出して処理を行っています。
'yyyy年MM月dd日')}" />
createNow――現在の日時を表すCalendaraインスタンスを作成します。
format――第1引数のCalendarインスタンスを第2引数のフォーマットパターンでフォーマットしたテキストを返します。
この2つのメソッドを使うだけで、現在の日付を指定のパターンでフォーマットし表示できるようになります。
ユーティリティメソッドのリファレンスは以下にありますので、どんな機能が用意されているか調べてみると面白いでしょう。
http://www.thymeleaf.org/apidocs/thymeleaf/2.1.4.RELEASE/org/thymeleaf/expression/package-summary.html
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<p class="msg" th:text="${#calendars.format(#calendars.createNow(), 'yyyy年MM月dd日')}" />
※関連コンテンツ
「初心者のためのSpring Bootプログラミング入門」に戻る