thymeleaf頁面中遍歷枚舉

      我們通常會用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;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章