Question

    

Cette question a déjà une réponse ici:

    
            
  •              Comment référencer des constantes dans EL?                                      12 réponses                          
  •     
    

Existe-t-il un moyen d'utiliser les valeurs Enum dans une JSP sans utiliser de scriptlet.

par exemple.

package com.example;

public enum Direction {
    ASC,
    DESC
}

donc dans le JSP, je veux faire quelque chose comme ça

<c:if test="${foo.direction ==<% com.example.Direction.ASC %>}">...
Était-ce utile?

La solution

Vous pouvez implémenter le texte Web pour une direction dans l'énumération en tant que champ:


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

mais qui mélange la vue et le modèle, bien que pour des utilisations simples, il puisse être indépendant de la vue ("Ascending", "Descending", etc.).

À moins que vous n'aimiez pas insérer du code Java droit dans vos pages JSP, même lorsqu'il est utilisé pour des tâches de base telles que les comparaisons.

Autres conseils

Vous pouvez simplement vérifier la valeur enum en tant que chaîne:

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

Cela peut se faire comme ça, je suppose

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

l'avantage est quand on refactor il renommera ici aussi

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top