У меня есть следующий кусок кода в моем JSP:
<% pageContext.setAttribute("warnings",Globals.WARNING_MESSAGES); %>
<c:choose>
<c:when test="${requestScope[pageScope.warnings] or sessionScope[pageScope.warnings]}">
<html:errors header="warnings.header" footer="warnings.footer" prefix="warnings.prefix" suffix="warnings.suffix"/>
<c:remove var="${pageScope.warnings}" scope="session"/>
</c:when>
<c:otherwise>
<html:errors/>
</c:otherwise>
</c:choose>
Интересно, есть ли вообще (не углубляясь в исходный код) знать, доступен ли атрибут для EL-кодирования?
В этом коде я хотел бы использовать переменную сценария, определенную как константа, которую я установил в контейнере pageScope. Я хотел бы использовать тот же механизм, когда я удаляю переменную из sessionScope, ссылающуюся на переменную скриптинга, но кажется, что атрибут <c:remove var>
отказывается интерпретировать мою переменную скриптинга, и это разрушает все усилия, направленные на ссылку на мое объявление константы. Я могу использовать скрипт jsp, чтобы обойти это, но есть ли «лучший» способ сделать это?