概要
HTML(jsp)のセレクトボックスで動的に初期値を設定する。
具体的には以下の内容。
①Controller部分で初期値をスコープに格納
②Controller部分セレクトボックスの選択肢を作成&スコープに格納
③HTML(jsp)で初期値を設定した状態でセレクトボックス出力
ソースコード
Controller.java
// 初期値作成&格納
String currentYear = "2022年"
// ②セレクトボックスの選択肢作成&格納
List<String> yearList = new ArrayList<>();
yearList.add("2016年");
yearList.add("2017年");
yearList.add("2018年");
yearList.add("2019年");
yearList.add("2020年");
yearList.add("2021年");
yearList.add("2022年");
yearList.add("2023年");
yearList.add("2024年");
model.addAttribute("yearList ", yearList )
view.jsp
<form action="/arrangement/holiday" method="POST">
<select onchange="this.form.submit()" name="currentYear">
<c:forEach var="year" items="${yearList}" varStatus="status">
<c:choose>
<c:when test="${year == currentYear}">
<option selected>${year}</option>
</c:when>
<c:otherwise>
<option>${year}</option></c:otherwise>
</c:choose>
</c:forEach>
</select>
</form>