JSP中的枚举

有没有办法在不使用scriptlet的情况下在JSP中使用Enum值。

例如

package com.example; public enum Direction { ASC, DESC } 

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

 <c:if test="${foo.direction ==}">... 

您可以将enum中方向的Web友好文本实现为字段:

<%@ page import="com.example.Direction" %> ... 

Direction is <%=foo.direction.getFriendlyName()%>

<% if (foo.direction == Direction.ASC) { %>

That means you're going to heaven!

<% } %>
<%@ page import="com.example.Direction" %> ...

Direction is <%=foo.direction.getFriendlyName()%>

<% if (foo.direction == Direction.ASC) { %>

That means you're going to heaven!

<% } %>

但是混合了视图和模型,虽然对于简单的用途,它可以是视图独立的(“升序”,“降序”等)。

除非您不喜欢将Java直接放入JSP页面,即使用于比较等基本内容。

您可以简单地将枚举值作为字符串进行检查:

 ... 

我想这可以这样做

   

优点是当我们重构时它也会在这里重命名