1. 概要

Thymeleaf は、HTMLを処理および作成するためのJavaテンプレートエンジンです。

このクイックチュートリアルでは、Thymeleafの lists ユーティリティオブジェクトを調べて、一般的なリストベースの操作を実行します。

2. サイズの計算

まず、 sizeメソッドはリストの長さを返します。たとえば、 th:text 属性を介してリストを含めることができます:

size: <span th:text="${#lists.size(myList)}"/>

myListは私たち自身のオブジェクトです。 コントローラを介してを渡しました。

@GetMapping("/size")
public String usingSize(Model model) {
    model.addAttribute("myList", getColors());
    return "lists/size";
}

3. リストが空かどうかの確認

isEmptyメソッドは、指定されたリストに要素がない場合にtrueを返します。

<span th:text="${#lists.isEmpty(myList)}"/>

通常、このユーティリティメソッドは条件付きで使用されます– th:ifおよびth:unless

<span th:unless="${#lists.isEmpty(myList)}">List is not empty</span>

4. メンバーシップの確認

containsメソッドは、要素が指定されたリストのメンバーであるかどうかをチェックします。

myList contains red: <span th:text="${#lists.contains(myList, 'red')}"/>

同様に、 containsAll メソッドを使用して、複数の要素のメンバーシップを確認できます。

myList contains red and green: <span th:text='${#lists.containsAll(myList, {"red", "green"})}'/>

5. 並べ替え

sortメソッドを使用すると、リストをソートできます。

sort: <span th:text="${#lists.sort(myList)}"/>

sort with Comparator: <span th:text="${#lists.sort(myList, reverse)}"/>

ここに2つのオーバーロードがあります選別メソッド 。 まず、リストを自然な順序で並べ替えます– $ {#lists.sort(myList)}。 次に、タイプの追加パラメーターを渡しますコンパレータ 。 この例では、モデルからこのコンパレータを取得しています。

6. リストへの変換

最後に、toListメソッドを使用してIterablesと配列をリストに変換できます。

<span th:with="convertedList=${#lists.toList(myArray)}">
    converted list size: <span th:text="${#lists.size(convertedList)}"/>
</span>

ここでは、新しい List ConvertedList を作成し、そのサイズを#lists.size。で出力しています。

7. 概要

このチュートリアルでは、Thymeleafの組み込みリストユーティリティオブジェクトと、それを効果的に使用する方法について説明しました。

いつものように、すべての例のソースコードは、GitHubから入手できます。