Thymeleafでの配列の操作
1. 概要
このクイックチュートリアルでは、Thymeleafで配列を使用する方法を見ていきます。 セットアップを簡単にするために、spring-boot初期化子を使用してアプリケーションをブートストラップします。
Spring MVCとThymeleafの基本は、ここにあります。
2. Thymeleafの依存関係
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. 景色
ビューページでは、上記のコントローラーから(大陸)で渡す名前で配列大陸にアクセスします。
4.1. プロパティとインデックス
検査する最初のプロパティの1つは、配列の長さです。 これが私たちがそれをチェックする方法です:
<p>...<span th:text="${continents.length}"></span>...</p>
上記のコードスニペットを見ると、ビューページからのものであり、キーワード th:textが使用されていることに気付くはずです。 これを使用して、中括弧内の変数の値(この場合は配列の長さ)を出力しました。
したがって、は、通常のJavaコード内で行うのと同じように、インデックスによって配列大陸の各要素の値にアクセスします。
<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 hymeleafの式について詳しく知ることができます。
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>
上記のコードスニペットでは、各要素が個別の
タグで表示されます。
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の要素であるかどうかを確認します。
最後に、配列大陸が空かどうかを確認します。
5. 結論
この記事では、T hymeleaf で配列の長さを確認し、インデックスを使用してその要素にアクセスすることにより、配列を操作する方法を学習しました。 また、Thymeleaf内でその要素を反復処理する方法も学びました。
最後に、ユーティリティ関数を使用して配列の他のプロパティを検査する方法を見てきました。
そして、いつものように、この記事の完全なソースコードはGithubのにあります。