Вам необходимо получить доступ к не -явным переменным.Имеет ли это теперь смысл?
Обновление : Иногда просто хотелось бы получить доступ к методам получения: HttpServletRequest
и HttpSession
напрямую.В стандартном JSP оба доступны только по ${pageContext}
.Вот некоторые примеры использования в реальном мире:
Обновление страницы по истечении времени сеанса:
<meta http-equiv="refresh" content="${pageContext.session.maxInactiveInterval}">
Передача идентификатора сеанса в апплет (чтобы он мог взаимодействовать с сервлетом)в том же сеансе):
<param name="jsessionid" value="${pageContext.session.id}">
Отображение некоторых сообщений только при первом запросе сеанса:
<c:if test="${pageContext.session['new']}">Welcome!</c:if>
обратите внимание, что new
имеет особую обработку, посколькупо крайней мере это зарезервированное ключевое слово в EL, так как EL 2.2
Отображение IP-адреса пользователя:
Your IP is: ${pageContext.request.remoteAddr}
Создание ссылок на домен без жесткого кодирования текущего контекстапуть:
<a href="${pageContext.request.contextPath}/login">login</a>
Динамическое определение тега <base>
(с небольшой помощью функций JSTL taglib):
<base href="${fn:replace(pageContext.request.requestURL, pageContext.request.requestURI, pageContext.request.contextPath)}/">
Etcetera.Загляните в вышеупомянутый HttpServletRequest
и HttpSession
javadoc, чтобы узнать обо всех этих методах получения.Некоторые из них могут быть полезны и в JSP / EL.