枚举在JSP中

tal*_*alg 15 java jsp jstl

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

例如

package com.example;

public enum Direction {
    ASC,
    DESC
}
Run Code Online (Sandbox Code Playgroud)

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

<c:if test="${foo.direction ==<% com.example.Direction.ASC %>}">...
Run Code Online (Sandbox Code Playgroud)

Jee*_*Bee 18

您可以将enum中方向的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页面,即使用于比较等基本内容.


Moh*_*lam 5

我想可以这样做

<c:set var="ASC" value="<%=Direction.ASC%>"/>
<c:if test="${foo.direction == ASC}"></c:if>
Run Code Online (Sandbox Code Playgroud)

优点是当我们重构时它也会反映在这里