Is there a way to use Enum values inside a JSP without using scriptlets.
e.g.
package com.example;
public enum Direction {
ASC,
DESC
}
so in the JSP I want to do something like this
<c:if test="${foo.direction ==<% com.example.Direction.ASC %>}">...
CA1069: Enums should not have duplicate values.
Two enum names can have same value. For example, in the following C program both 'Failed' and 'Freezed' have same value 0.
Because there is only one instance of each enum constant, it is permissible to use the == operator in place of the equals method when comparing two object references if it is known that at least one of them refers to an enum constant.
Inheritance Is Not Allowed for Enums.
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.
It can be done like this I guess
<c:set var="ASC" value="<%=Direction.ASC%>"/>
<c:if test="${foo.direction == ASC}"></c:if>
the advantage is when we refactor it will reflect here too
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With