-
使用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
-
<%@
page contentType="text/html; charset=gb2312" language="java" %> -
<!DOCTYPE
HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -
<HTML>
-
<HEAD>
-
<TITLE>pageContext测试</TITLE>
-
</HEAD>
-
<BODY>
-
<%
-
//使用pageContext设置属性,该属性默认在page范围内
-
pageContext.setAttribute("page","hello");
-
//使用request设置属性,该属性默认在request范围内
-
request.setAttribute("request","hello");
-
//使用pageContext将属性设置在request范围中
-
pageContext.setAttribute("request2","hello"
-
,
pageContext.REQUEST_SCOPE); -
//使用session将属性设置在session范围中
-
session.setAttribute("session","hello");
-
//使用pageContext将属性设置在session范围中
-
pageContext.setAttribute("session2","hello"
-
,
pageContext.SESSION_SCOPE); -
//使用application将属性设置在application范围中
-
application.setAttribute("app","hello");
-
//使用pageContext将属性设置在application范围中
-
pageContext.setAttribute("app2","hello"
-
,
pageContext.APPLICATION_SCOPE); -
//下面获取各属性所在的范围:
-
out.println("page变量所在范围:"
+ -
pageContext.getAttributesScope("page")
+ "<br>"); -
out.println("request变量所在范围:"
+ -
pageContext.getAttributesScope("request")
+ "<br>"); -
out.println("request2变量所在范围:"+
-
pageContext.getAttributesScope("request2")
+ "<br>"); -
out.println("session变量所在范围:"
+ -
pageContext.getAttributesScope("session")
+ "<br>"); -
out.println("session2变量所在范围:"
+ -
pageContext.getAttributesScope("session2")
+ "<br>"); -
out.println("app变量所在范围:"
+ -
pageContext.getAttributesScope("app")
+ "<br>"); -
out.println("app2变量所在范围:"
+ -
pageContext.getAttributesScope("app2")
+ "<br>"); -
%>
-
</BODY>
-
</HTML>
- 上面页面的粗体字代码使用pageContext将各变量分别放入page、request、session、application范围内,程序的斜体字代码还使用pageContext获取各变量所在的范围。
request.setAttribute("request","hello")= pageContext.setAttribute("request2","hello" ,pageContext.REQUEST_SCOPE);
本文演示如何利用pageContext类实例访问JSP页面中的page、request、session、application范围内的变量,并展示如何通过setAttribute和getAttribute方法进行变量的设置与获取。
3940

被折叠的 条评论
为什么被折叠?



