ThymeleafでMapからキーを指定して値を取得する方法

ThymeleafでMapからキーを指定して値を取得する方法

ThymeleafでMapから特定のキーを指定して値を取得する方法を以下に示します。

1. コントローラの設定

まず、コントローラでMapをモデルに追加します。
例えば、以下のようにします。

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.HashMap;
import java.util.Map;

@Controller
public class MyController {

    @GetMapping("/example")
    public String example(Model model) {
        Map<String, String> myMap = new HashMap<>();
        myMap.put("key1", "Value 1");
        myMap.put("key2", "Value 2");
        myMap.put("key3", "Value 3");

        model.addAttribute("myMap", myMap);
        return "example";
    }
}

2. Thymeleafテンプレートの設定

ThymeleafテンプレートでMapからキーを指定して値を取得するには、以下のように記述します。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Map Example</title>
</head>
<body>
    <h1>Mapから値を取得する例</h1>
    <p>キー "key1" の値: <span th:text="${myMap['key1']}">値がここに表示されます</span></p>
    <p>キー "key2" の値: <span th:text="${myMap['key2']}">値がここに表示されます</span></p>
    <p>キー "key3" の値: <span th:text="${myMap['key3']}">値がここに表示されます</span></p>
</body>
</html>

説明

  • th:text="${myMap['key1']}"のように記述することで、Mapから指定したキーに対応する値を取得して表示できます。
  • myMapはコントローラからモデルに追加されたMapの名前であり、'key1'や'key2'はMapのキーです。

これで、Thymeleafテンプレート内でMapのキーに基づいて値を取得し表示することができます。