前提・実現したいこと
現在spring bootでhtmlに配列の中身を表示するコードを作成しております。controllerの配列に入っている名前をマップに格納し、リストで表示させるところまではできたのですが、htmlに表示する際にチームの文字の下にそれぞれ6人ずつ縦に並べて表示したいのです。
発生している問題・エラーメッセージ
htmlにてth:ifを使って条件分岐で表示させるのではと考えたのですが、th:if{}の{ }内に入れる条件が分かりません。この{}に入れる条件を教えていただけますでしょうか。
該当のソースコード
//TeamController.java package com.example.mvc.controller; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @Controller public class TeamController { @Autowired HttpSession session; @GetMapping("/input") public String input() { return "input"; } @PostMapping("/team") public String setTeam(Model model) { String[] name= {"佐藤 ","鈴木 ","高橋 ","田中 ", "伊藤 ","渡辺 ","山本 ","中村 ", "小林 ","加藤 ","吉田 ","山田 ", "山口 ","松本 ","井上 ","木村 ", "佐々木","斎藤 ","清水 ","山崎 ", "池田 ","橋本 ","阿部 ","石川 ", "山下 ","中島 ","石井 ","森 ", "小川 ","長谷川","前田 ","岡田 ", "後藤 ","林 ","近藤 ","村上 "}; List<Map<String, String>> list = new ArrayList<Map<String, String>>(); for(int i = 0; i < name.length; i++) { Map<String, String> map = new HashMap<String, String>(); map.put("name", name[i]); list.add(map); } Collections.shuffle(list); model.addAttribute("list", list); return "output"; } }
<!--output.html--> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>抽選完了</title> </head> <body> <span> チームA | チームB | チームC | チームD | チームE | チームF</span> th:if="${ }" <span th:each="str, item:${list}"> <span th:text="'  ' + ${str.name}"></span> </span> </body> </html>
<!--input.html --> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>チーム抽選</title> </head> <body> <form method="post" action="/team"> <input type="submit" value="チーム決め"> </form> </body> </html> ``` 使っているspringのバージョンは2.1.1です。 input.htmlのボタンを押すとoutput.htmlにとび、チームの表が出る流れとなっております。 以上、よろしくお願いいたします。