質問

    

この質問にはすでに回答があります:

    
            
  •              ELで定数を参照する方法                                      12答え                          
  •     
    

スクリプトレットを使用せずにJSP内でEnum値を使用する方法はあります。

e.g。

package com.example;

public enum Direction {
    ASC,
    DESC
}

だからJSPでこのようなことをしたい

<c:if test="${foo.direction ==<% com.example.Direction.ASC %>}">...
役に立ちましたか?

解決

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ページに配置するのが嫌な場合を除き、比較などの基本的なことを行う場合でも。

他のヒント

enum値を文字列として単純に確認できます:

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

このようにすることができます

<c:set var="ASC" value="<%=Direction.ASC%>"/>
<c:if test="${foo.direction == ASC}"></c:if>

利点は、リファクタリングするときにここでも名前が変更されることです

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top