スクリプトレットを使用せずにJSP内で列挙値を使用する方法はありますか?.
例えば.
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>
<% } %>
ただし、これはビューとモデルを混合しますが、単純な使用ではビューに依存しない場合があります(「昇順」、「降順」など)。
比較などの基本的な目的で使用する場合でも、JSPページにストレートJavaを入れるのが嫌いでない限り。
列挙値を文字列として簡単に確認できます。
<c:if test="${foo.direction == 'ASC'}">...
このようにできると思います
<c:set var="ASC" value="<%=Direction.ASC%>"/>
<c:if test="${foo.direction == ASC}"></c:if>
利点は、リファクタリングするとここでも名前が変更されることです