dostęp do stałych w JSP (bez skryptu) [duplikat]

To pytanie ma już tutaj odpowiedź:

Jak odwoływać się do stałych w EL? 12 odpowiedzi

Mam klasę, która definiuje nazwy różnych atrybutów sesji, np.

class Constants {
    public static final String ATTR_CURRENT_USER = "current.user";
}

Chciałbym użyć tych stałych w JSP, aby przetestować obecność tych atrybutów, na przykład:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="com.example.Constants" %>

<c:if test="${sessionScope[Constants.ATTR_CURRENT_USER] eq null}">
    <%-- Do somthing --%>
</c:if>

Ale wydaje mi się, że nie mogę uzyskać poprawnego sytax. Ponadto, aby uniknąć powtarzania dość długich testów powyżej w wielu miejscach, chciałbym przypisać wynik do zmiennej lokalnej (o zasięgu strony) i odnieść się do tego. Wierzę, że mogę to zrobić<c:set>, ale znowu staram się znaleźć poprawną składnię.

AKTUALIZACJA: Zgodnie z poniższą sugestią spróbowałem:

<c:set var="nullUser" scope="session"
value="${sessionScope[Constants.ATTR_CURRENT_USER] eq null}" />

co nie działa. Zamiast tego spróbowałem zastąpić literalną wartość stałej. Dodałem stałą do treści strony, więc mogłem zweryfikować wartość stałej podczas renderowania strony

<c:set var="nullUser" scope="session"
value="${sessionScope['current.user'] eq null}" />
<%= "Constant value: " + WebHelper.ATTR_CURRENT_PARTNER %>

To działało dobrze i drukowało oczekiwaną wartość „current.user” na stronie. Nie potrafię wyjaśnić, dlaczego użycie literału String działa, ale odwołanie do stałej nie ma miejsca, gdy te dwie wydają się mieć tę samą wartość. Wsparcie.....

questionAnswers(7)

yourAnswerToTheQuestion