2.6.5 pageContext对象
2.6.5 pageContext对象
这个对象代表页面上下文,该对象主要用于访问JSP
之间的共享数据。使用pageContext
可以访问age
、request
、session
、application
范围的变量。
getAttribute setAttribute方法
pageContext
是PageContext
类的实例,它提供了如下两个方法来访问page
、request
、session
、application
范围的变量。
getAttribute(String name)
:取得page
范围内的name
属性。getAttribute(String name, int scope)
:取得指定范围内的name
属性,其中scope
可以是如下4个值。PageContext.PAGE_SCOPE
:对应于page
范围。PageContext.REQUEST_SCOPE
:对应于request
范围。PageContext.SESSION_SCOPE
:对应于session
范围。PageContext.APPLICATION_SCOPE
:对应于application
范围
与getAttribute()
方法相对应,PageContext
也提供了两个对应的setAttribute()
方法,用于将指定变量放入page
、request
、session
、application
范围内。
pageContextTest.jsp
下面的JSP
页面示范了使用pageContext
来操作page
、request
、session
、application
范围内的变量。
1 | <%@ page contentType="text/html; charset=UTF-8" language="java" errorPage="" %> |
以上页面使用pageContext
将各变量分别放入page
、request
、session
、application
范围内,然后使用pageContext
获取各变量所在的范围。
测试
浏览以上页面,可以看到如图2.23所示的效果。
page变量所在范围:1 request变量所在范围:2 request2变量所在范围:2 session变量所在范围:3 session2变量所在范围:3 app变量所在范围:4 app2变量所在范围:4
getAttributesScope方法
图2.23中显示了使用pageContext
获取各属性所在的范围,其中这些范围获取的都是整型变量,这些整型变量分别对应如下4个生存范围。
整形变量值 | 对应生存范围 |
---|---|
1 | 对应page 生存范围 |
2 | 对应request 生存范围。 |
3 | 对应session 生存范围。 |
4 | 对应application 生存范围。 |
pageContext对象获取其他内置对象的方法
不仅如此,pageContext
还可用于获取其他内置对象,pageContext
对象包含如下方法。
pageContext对象获取其他内置对象的方法 | 描述 |
---|---|
ServletRequest getRequest() |
获取request 对象。 |
ServletResponse getResponse() |
获取response 对象。 |
ServletConfig getServletConfig() |
获取config 对象。 |
ServletContext getServletContext() |
获取application 对象。 |
HttpSession getSession() |
获取session 对象 |