概要
ThymeleafにはJava8の日時APIを操作するUtilityがデフォルトで組み込まれていません。
thymeleaf-extras-java8time
を組み込んで使用できるようにします。
※ java.util.Date
や java.util.Calendar
は #dates
や #calendars
がデフォルトで提供されている
前提
- thymeleaf3
- spring-boot1.4
- maven3
pom.xmlの修正
thymeleaf-extras-java8time
のdependencyを追加します。
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
DialectをDIコンテナへ登録
※spring-boot1.4.0からDialectをDIコンテナへ登録する設定は不要になりました※
SpringBootで利用可能にするには、DialectをDIコンテナへ登録しておく必要があります。
専用のConfigurationを作って登録しておく例を書いておきます。
@Configuration
public class ThymeleafExtrasConfiguration {
@Bean
public Java8TimeDialect java8TimeDialect() {
return new Java8TimeDialect();
}
}
テンプレートでの呼び出し
下記のように呼び出せるようになります。
${#temporals.format(hogeDateTime, 'dd/MMM/yyyy HH:mm')}
まとめ
- dependencyを追加する
- DialectをDIコンテナに登録する
- テンプレートで使用する