JSP中的枚举

时间:2020-03-06 15:02:14  来源:igfitidea点击:

有没有一种方法可以在不使用脚本的情况下在JSP中使用Enum值。

例如

package com.example;

public enum Direction {
    ASC,
    DESC
}

所以在JSP中,我想做这样的事情

<c:if test="${foo.direction ==<% com.example.Direction.ASC %>}">...

解决方案

我们可以将Web友好文本作为枚举内的方向实现为字段:

<%@ page import="com.example.Direction" %>
...
<p>Direction is <%=foo.direction.getFriendlyName()%></p>
<% if (foo.direction == Direction.ASC) { %>
<p>That means you're going to heaven!</p>
<% } %>

但这将视图和模型混合在一起,尽管对于简单用途而言,它可以与视图无关("升序","降序"等)。

除非我们不喜欢将Java直接放入JSP页面中,甚至不用于比较之类的基本操作。