Thymeleafでセレクトボックス(select)のcheckedを設定
Thymeleafでセレクトボックス(select)の初期選択値を設定する例を以下に示します。
コントローラの処理も含めています。
コントローラ (Controller.java)
import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class SampleController { @GetMapping("/form") public String showForm(Model model) { model.addAttribute("selectedValue", "2"); // 初期選択値を設定 return "form"; } @PostMapping("/submitForm") public String submitForm(@RequestParam("dropdown") String selectedValue, Model model) { model.addAttribute("selectedValue", selectedValue); return "result"; } }
ビュー (form.html)
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <body> <form action="#" th:action="@{/submitForm}" method="post"> <label for="dropdown">選択肢:</label> <select id="dropdown" name="dropdown"> <option value="1" th:selected="${selectedValue == '1'}">選択肢 1</option> <option value="2" th:selected="${selectedValue == '2'}">選択肢 2</option> <option value="3" th:selected="${selectedValue == '3'}">選択肢 3</option> </select> <button type="submit">送信</button> </form> </body> </html>
ビュー (result.html)
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <body> <p>選択された値は: <span th:text="${selectedValue}"></span></p> <a th:href="@{/form}">戻る</a> </body> </html>
この例では、/formエンドポイントでフォームを表示し、セレクトボックスの初期選択値を設定します。
submitFormメソッドでフォーム送信後の選択された値を処理し、結果を表示します。