1.概要

このクイックチュートリアルでは、Thymeleafで配列をどのように使用できるかを見ていきます。セットアップを簡単にするために、アプリケーションをブートストラップするためにスプリングブートイニシャライザを使用します。

Spring MVCとThymeleafの基本は

ここ

にあります。

2.タイムリーフ依存


pom.xml

ファイルで、追加する必要がある唯一の依存関係はSpringMVCとThymeleafです。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

3.コントローラー

簡単にするために、

GET

要求を処理するメソッドを1つだけ持つコントローラーを使用しましょう。

これはモデルオブジェクトに配列を渡すことで応答し、モデルオブジェクトはビューにアクセス可能になります。

@Controller
public class ThymeleafArrayController {

    @GetMapping("/arrays")
    public String arrayController(Model model) {
        String[]continents = {
          "Africa", "Antarctica", "Asia", "Australia",
          "Europe", "North America", "Sourth America"
        };

        model.addAttribute("continents", continents);

        return "continents";
    }
}

4.見解

ビューページでは、(大陸)を渡した名前で

continents

配列にアクセスします。

4.1. プロパティとインデックス

最初に調べるプロパティの1つは、配列の長さです。これは私たちがそれをチェックすることができる方法です:

<p>...<span th:text="${continents.length}"></span>...</p>

そしてビューページからの上記のコードの断片を見ると、キーワード

th:text

の使用に気付くはずです。中括弧内の変数の値、この場合は配列の長さを表示するために使用しました。

したがって、

通常のJavaコード内で行うのと同じように、

配列

continents

の各要素の値にそのインデックスでアクセスします。

<ol>
    <li th:text="${continents[2]}"></li>
    <li th:text="${continents[0]}"></li>
    <li th:text="${continents[4]}"></li>
    <li th:text="${continents[5]}"></li>
    <li th:text="${continents[6]}"></li>
    <li th:text="${continents[3]}"></li>
    <li th:text="${continents[1]}"></li>
</ol>

上記のコードで見たように、各要素はそのインデックスを通してアクセス可能です。 Tの式についてもっと学ぶために

ここ

を見てください。

4.2. 繰り返し

同様に、** 要素を配列に対して順番に繰り返すことができます。

Thymeleafでは、これを実現する方法を以下に示します。

<ul th:each="continet : ${continents}">
    <li th:text="${continent}"></li>
</ul>


  • th:each

    キーワードを使用して配列** の要素を反復処理するときは、リストタグのみを使用するように制限されていません。ページにテキストを表示できるHTMLタグであればどれでも使用できます。例えば:

<h4 th:each="continent : ${continents}" th:text="${continent}"></h4>

上記のコードスニペットでは、各要素はそれぞれ別の

<h4> </h4>

タグに表示されます。

4.3. ユーティリティ関数

最後に、ユーティリティクラス関数を使用して、配列の他のプロパティを調べます。

これを見てみましょう。

<p>The greatest <span th:text="${#arrays.length(continents)}"></span> continents.</p>

<p>Europe is a continent: <span th:text="${#arrays.contains(continents, 'Europe')}"></span>.</p>

<p>Array of continents is empty <span th:text="${#arrays.isEmpty(continents)}"></span>.</p>

最初に配列の長さを照会し、次に

Europe

が配列__continentsの要素であるかどうかを確認します。

最後に、配列

__continents

__が空かどうかを確認します。

5.まとめ

この記事では、長さをチェックし、インデックスを使用して要素にアクセスすることによって、Tで配列を操作する方法を学びました。 Thymeleaf内でその要素を反復処理する方法も学びました。

最後に、配列の他のプロパティを検査するための効用関数の使用を見ました。

そして、いつものように、この記事の完全なソースコードはhttps://github.com/eugenp/tutorials/tree/master/spring-thymeleaf[Githubに掲載]にあります。