如何使用EL和JSTL访问Enum值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (46)

我有一个名为Status的Enum定义为:

public enum Status { 

    VALID("valid"), OLD("old");

    private final String val;

    Status(String val) {
        this.val = val;
    }

    public String getStatus() {
        return val;
    }

}

我想访问VALID从JSTL标签。特别是test属性的<c:when>标签。例如:

<c:when test="${dp.status eq Status.VALID">
提问于
用户回答回答于

一个简单的比较与字符串工作:

<c:when test="${someModel.status == 'OLD'}">
用户回答回答于

如果使用SpringMVC,Spring表达式语言:

<spring:eval expression="dp.status == T(com.example.Status).VALID" var="isValid" />
<c:if test="${isValid}">
   isValid
</c:if>

扫码关注云+社区