Перечисление внутри JSP

Есть ли способ использовать значения Enum внутри JSP без использования сценариев.

например.

package com.example;

public enum Direction {
    ASC,
    DESC
}

поэтому в JSP я хочу сделать что-то вроде этого

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

Ответы

Ответ 1

Вы можете реализовать веб-текст для направления внутри перечисления в виде поля:


<%@ 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-страницы, даже если они используются для основных вещей, таких как сравнения.

Ответ 2

Вы можете просто проверить значение enum как строку:

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