如何在Spring Boot中以表单形式发送枚举值?

时间:2017-04-20 08:26:27

标签: java spring-mvc spring-boot thymeleaf spring-el

我想在表单中传递以下类中定义的 enum 值:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>Hello World</h1>
<button>Change title</button>

表格:

package com.test.entity.common;

public enum RequestStatus {
    PENDING,
    APPROVED,
    REJECTED
}

为什么这会将整个值作为字符串文字 <select th:field="*{selectedRequestType}"> <option value="${T(com.test.entity.common.RequestStatus).PENDING}">PENDING</option> <option value="${T(com.test.entity.common.RequestStatus).APPROVED}">APPROVED</option> <option value="${T(com.test.entity.common.RequestStatus).REJECTED}">REJECTED</option> </select> 而不仅仅是枚举 T(com.test.entity.common.RequestStatus).REJECTED?有没有办法使用SpEL做到这一点?

1 个答案:

答案 0 :(得分:3)

只需

<option value="PENDING">PENDING</option>

会好的。对于 enum 类型,Spring Boot可以自动将字符串转换为相关的 enum