java - tag - variable in jstl




Enum all'interno di un JSP (2)

Esiste un modo per utilizzare i valori Enum all'interno di un JSP senza utilizzare scriptlet.

per esempio

package com.example;

public enum Direction {
    ASC,
    DESC
}

quindi nel JSP voglio fare qualcosa di simile

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

È possibile implementare il testo web-friendly per una direzione all'interno dell'enum come campo:


<%@ 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>
<% } %>

ma che mescola la vista e il modello, anche se per usi semplici può essere indipendente dalla vista ("Crescente", "Discendente", ecc.).

A meno che non ti piace mettere direttamente Java nelle tue pagine JSP, anche se usato per cose basilari come i confronti.


Puoi semplicemente controllare il valore enum come una stringa:

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




jstl