Java – Enum inside a JSP


Is there a way to use Enum values inside a JSP without using scriptlets.


package com.example;

public enum Direction {

so in the JSP I want to do something like this

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

Best Answer

You could implement the web-friendly text for a direction within the enum as a field:

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

but that mixes the view and the model, although for simple uses it can be view-independent ("Ascending", "Descending", etc).

Unless you don't like putting straight Java into your JSP pages, even when used for basic things like comparisons.