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对象 |