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

How can I send an enum value in a form in Spring Boot?

我想通过表单传递一个 enum 值,如下面 class 所定义:

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>

为什么这个 return 整个值作为 字符串文字 T(com.test.entity.common.RequestStatus).REJECTED 而不仅仅是 枚举 REJECTED?有没有办法使用 SpEL 来做到这一点?

刚刚

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

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