您需要它来访问 非 隐式变量。现在有意义吗?
更新
:有时候只是想访问的getter方法
HttpServletRequest和
HttpSession直接。在标准JSP中,两者都只能通过获得
${pageContext}。以下是一些实际使用示例:会话超时时刷新页面:
<meta http-equiv="refresh" content="${pageContext.session.maxInactiveInterval}">将会话ID传递到Applet(以便它可以在同一会话中与Servlet通信):
<param name="jsessionid" value="${pageContext.session.id}">仅在会话的第一次请求时显示一些消息:
<c:if test="${pageContext.session['new']}">Welcome!</c:if>请注意,它new
具有特殊待遇,因为至少从EL 2.2开始,它是EL中的保留关键字。
显示用户IP:
您的IP是:$ {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和
HttpSessionjavadoc,以了解所有这些getter方法。其中一些在JSP
/ EL中也可能有用。



