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;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值