How to test against enum values in JSTL EL test?
10,850
It does not work because you used $(
instead of ${
to start the expression.
Fix it accordingly:
<c:choose>
<c:when test="${entry.activity eq 'CREATE'}">
<td>was created</td>
</c:when>
<c:when test="${entry.activity eq 'CREATE_FROM_CAMPAIGN'}">
<td>was created from campaign</td>
</c:when>
<c:otherwise>
<td>was opened (${entry.activity}) </td>
</c:otherwise>
</c:choose>
Author by
Jukka Dahlbom
Updated on June 05, 2022Comments
-
Jukka Dahlbom almost 2 years
I have the following block in my JSP, which converts from ENUM values
{CREATE, CREATE_FROM_CAMPAIGN, OPEN}
into nice, readable status texts.For some reason the first test against
'CREATE'
works, but the test against the'CREATE_FROM_CAMPAIGN'
does not.<c:choose> <c:when test="${entry.activity eq 'CREATE'}"> <td>was created</td> </c:when> <c:when test="$(entry.activity eq 'CREATE_FROM_CAMPAIGN'}"> <td>was created from campaign</td> </c:when> <c:otherwise> <td>was opened (${entry.activity}) </td> </c:otherwise> </c:choose>
One output from this one is as follows:
was opened (CREATE_FROM_CAMPAIGN)
was opened (OPEN)
Why does the second test not work?
-
Jukka Dahlbom over 12 yearsThank you. Just could not spot that curly bracket despite looking over that code for a long while. I've flagged my post for attention, though, because it does not benefit anyone else.