我們通常會用HashMap 或者 Enum來做頁面中的select下拉菜單。那麼在thymeleaf中遍歷並且選中方法如下:
<div class="form-group" style="margin-left: 30px">
<label class="control-label hidden-xs">任務狀態:</label>
<select th:filed="${task_status}" th:value="${task_status}" name="task_status"
class="custom-select" style="margin-left: 16px">
<div th:each="enmu:${statusEnum}">
<option th:selected="${task_status == enmu.code}" th:value ="${enmu.code}">
<span th:text="${enmu.msg}"></span>
</option>
</div>
</select>
</div>
其中 ${task_status} 爲後臺傳遞過來的需要選中的值 statusEnum爲後臺傳遞過來的枚舉 code msg字段均是枚舉類中定義的字段。寫法如下
//Controller類中代碼
modelAndView.addObject("task_status",task_status);
modelAndView.addObject("statusEnum", TaskStatus.values());
//枚舉類代碼
public enum TaskStatus {
ALL_STATUS(-1,"-全部-"),
NORMAL(0,"未領取"), //正常 未領取
INAVLID(1,"已廢棄"), //無效 已經廢棄
EXECUTION_PROCESS(2,"執行中..."),
EXEC_FINISH(3,"執行完畢");
private final int code;
private final String msg;
TaskStatus(int code, String msg){
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
}