Thymeleafのユーティリティオブジェクト4選

Javaを学習したいけれどどの学習サービスを選べば良いか分からないという悩みを抱えていませんか?
Javaは市場価値が高い為、学習サービスを提供しているものも多く、条件に合うものを見つけるのに苦労しますよね。
以下の記事ではJavaを入門レベルから勉強できるおすすめ学習サービスをご紹介しています。
Spring FrameworkやThymeleafがカリキュラムに含まれているものがあるので、ぜひ参考にしてください!
今回は、Thymeleafのユーティリティオブジェクト4選をご紹介します。
ユーティリティオブジェクトはThymeleafにあらかじめ用意されている関数のようなものです。使用することでコーディング時間を大幅に短縮することができるので、ぜひ参考にしてください。
当記事では、比較的使用頻度が高い以下のユーティリティオブジェクトをご紹介します。
文字列オブジェクト用のユーティリティオブジェクトです。
対象の文字列が空文字かどうかや文字列に特定の文字が含まれているか等を判定することができます。
引数で受け取ったオブジェクトにnullセーフで toString()
を行います。
<!-- 入力 -->
${#strings.toString(obj)}
<!-- 出力 -->
string型のobj
引数で受け取った文字列がnullまたは空文字かをチェックします。
<!-- 入力 -->
<p th:text="${#strings.isEmpty('空文字ですか?')}"></p>
<p th:text="${#strings.isEmpty(' ')}"></p>
<!-- 出力 -->
false
true
引数で受け取った文字列をnullセーフで比較します。
<!-- 入力 -->
<p th:text="${#strings.equals('りんご', 'りんご')}"></p>
<p th:text="${#strings.equals('りんご', 'バナナ')}"></p>
<!-- 出力 -->
true
false
引数で受け取った文字列に特定の文字が含まれているかどうかをチェックします。
<!-- 入力 -->
<p th:text="${#strings.contains('apple', 'le')}"></p>
<p th:text="${#strings.contains('apple', '')}"></p>
<p th:text="${#strings.contains('apple pie', ' ')}"></p>
<p th:text="${#strings.contains('applepie', ' ')}"></p>
<!-- 出力 -->
true
true
true
false
引数で受け取った文字列の長さを計算します。
<!-- 入力 -->
<p th:text="${#strings.length('apple')}"></p>
<p th:text="${#strings.length(' ')}"></p>
<p th:text="${#strings.length('')}"></p>
<!-- 出力 -->
5
1
0
数値オブジェクト用のユーティリティオブジェクトです。
対象の数値をカンマ区切りにしたりシーケンスを作成することができます。
引数で受け取った数値の整数の最小桁数と千の位の区切り文字を設定します。
区切り文字は POINT
COMMA
WHITESPACE
NONE
または DEFAULT
が使用できます。
<!-- 入力 -->
<p th:text="${#numbers.formatInteger(1000, 3, 'POINT')}"></p>
<p th:text="${#numbers.formatInteger(1000, 3, 'COMMA')}"></p>
<p th:text="${#numbers.formatInteger(1000, 3, 'WHITESPACE')}"></p>
<!-- 出力 -->
1.000
1,000
1 000
引数で受け取った数値fromからtoまでの整数のシーケンスを作成します。
使用例については、以下の記事で紹介しているので参考にしてください。
日付オブジェクト用のユーティリティオブジェクトです。
現在日時を取得したり引数で受け取った日時を特定のフォーマットに変換することができます。
現在日時の日付オブジェクトを作成します。
<!-- 入力 -->
<p th:text="${#dates.createNow()}"></p>
<!-- 出力 -->
Sat May 16 00:00:00 JST 2020
引数で受け取った日時を指定されたパターンでフォーマットします。
<!-- 入力 -->
<p th:text="${#dates.format(#dates.createNow(), 'yyyy/MM/dd HH:mm')}"></p>
<!-- 出力 -->
2020/05/16 00:00
リスト用のユーティリティオブジェクトです。
対象のリストが空かどうかやリストの要素の数等を取得することができます。
引数で受け取ったリストが空かどうかをチェックします。
<!-- 入力 -->
<p th:text="${#lists.isEmpty(list)}"></p>
<!-- 出力 -->
false
引数で受け取ったリストのサイズを計算します。
<!-- 入力 -->
<p th:text="${#lists.size(list)}"></p>
<!-- 出力 -->
5
引数で受け取ったリストに特定の要素が含まれているかどうかをチェックします。
<!-- 入力 -->
<p th:text="${#lists.contains(list, element)}"></p>
<!-- 出力 -->
true
今回は、Thymeleafのユーティリティオブジェクト4選をご紹介しました。
少しでも参考になれば幸いです。
以下の書籍は、Thymeleafを書籍で学びたい人やThymeleafと併せてSpring Frameworkを学習したい人におすすめしている書籍です。
Springについての書籍ですが、Thymeleafの基礎や基本構文から他システムとの連携等30ページほど取り上げられており、ThymeleafとSpringを一度に学べる書籍になっています。
ぜひ一度手に取ってみてください。
現在、ミルラクでは記事に関するアンケートを実施しています。
ご回答いただいた内容は今後の記事の役立てていきますので、ぜひご回答ください!