🔰Thymeleafにおいてmapのインデックス番号をキー指定する方法
Q&A
Closed
Thymeleaf上でmapのインデックス番号をキー指定する方法がわかりません
初めて質問させていただきます。
javaコントローラーから以下のようなmapが渡された場合、
mapの値をインデックス番号からキー指定して取得する方法がわかりません。
(map.valueでの方法ではなく、キー指定する方法です。)
@Controller
public class Sample {
@GetMapping("/")
public String sampleA (Model model) {
Map<Integer, String> map = new LinkedHashMap<>();
map.put(0, "a");
map.put(1, "b");
map.put(2, "c");
model.addAttribute("map", map);
return "index";
}
}
試したこと1
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<body>
<th:block th:each="map, stat : ${map}">
<p>
<span th:text="${map.get(stat.index)}"></span>
</P>
</body>
</html>
発生しているエラー
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1004E: Method call: Method get(java.lang.Integer) cannot be found on type java.util.LinkedHashMap$Entry
試したこと2
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<body>
<th:block th:each="map, stat : ${map}">
<p>
<span th:text="${map[stat.index])}"></span>
</P>
</body>
</html>
発生しているエラー
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1027E: Indexing into type 'java.util.LinkedHashMap$Entry<?, ?>' is not supported
ご教示お願いいたします。
0 likes