我有一个名为Status的枚举,定义如下:
public enum Status {
VALID("valid"), OLD("old");
private final String val;
Status(String val) {
this.val = val;
}
public String getStatus() {
return val;
}
}
我想从JSTL标记访问VALID
的值。具体地说就是<c:when>
标记的test
属性。例如。
<c:when test="${dp.status eq Status.VALID">
我不确定这是否可能。
发布于 2008-12-15 14:27:13
与字符串进行简单的比较是可行的:
<c:when test="${someModel.status == 'OLD'}">
发布于 2011-05-02 17:57:09
如果使用Spring MVC,Spring Expression Language (SpEL)会很有帮助:
<spring:eval expression="dp.status == T(com.example.Status).VALID" var="isValid" />
<c:if test="${isValid}">
isValid
</c:if>
发布于 2008-09-24 21:09:34
因此,为了完全解决我的问题,我需要执行以下操作:
<% pageContext.setAttribute("old", Status.OLD); %>
然后我就能做到:
<c:when test="${someModel.status == old}"/>...</c:when>
它的工作效果与预期一致。
https://stackoverflow.com/questions/123598
复制相似问题