这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。使用pageContext可以访问page、request、session、application范围的变量。
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也提供了2个对应的setAttribute()方法,用于将指定变量放入page、request、session、application范围内。
下面的JSP页面示范了使用pageContext来操作page、request、session、application范围内的变量。
程序清单:codes\02\2.9\jspObject\pageContextTest.jsp
上面页面的粗体字代码使用pageContext将各变量分别放入page、request、session、application范围内,程序的斜体字代码还使用pageContext获取各变量所在的范围。
浏览上面页面,可以看到如图2.23所示的效果。
图2.23中显示了使用pageContext获取各属性所在的范围,其中这些范围获取的都是整型变量,这些整型变量分别对应如下4个生存范围。
1:对应page生存范围。
2:对应request生存范围。
3:对应session生存范围。
4:对应application生存范围。