Action/Controller 將 List<Role> roleList 放入 request:
List<Role> roleList = new ArrayList<>();
for (int i = 0; i < 5; i++) {
roleList.add(new Role(i, "role" + i));
}
request.setAttribute("role_list", roleList);
<%@ taglib uri="https://java.sun.com/jsp/jstl/core" prefix="c" %>
<select name="role">
<option value="">-- 請選擇 --</option>
<c:forEach var="ro" items="${role_list}">
<option value="<c:out value='${ro.role_id}'/>"
<c:if test="${ro.role_id == param.selectedRoleId}">selected</c:if>>
<c:out value="${ro.role_name}"/>
</option>
</c:forEach>
</select>
<c:forEach> 遍歷集合,var 定義循環變量。<c:out> 輸出值並自動轉義 HTML 特殊字符,防 XSS。<c:if test="${...}"> 判斷當前項目 ID 是否等於請求參數 selectedRoleId,相等則輸出 selected 屬性。${ro.role_id == user.selectedRoleId}。<form action="save.do" method="post">
<bean:message key="user.role"/>
<select name="roleId">
<option value="">-- 請選擇 --</option>
<c:forEach var="r" items="${role_list}">
<option value="${r.role_id}" <c:if test="${r.role_id == user.roleId}">selected</c:if>>${r.role_name}</option>
</c:forEach>
</select>
<input type="submit" value="保存"/>
</form>