pageContext对象的用法
(1)
pageContext对象
这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。
pageContext是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范围。
(2)
实例:
<%@page contentType="text/html;charset=gb2312"%>
<html><head><title>pageContext对象_例1</title></head>
<body><br>
<%
//使用pageContext设置属性,该属性默认在page范围内
pageContext.setAttribute("name","jason test");
request.setAttribute("name","霖苑编程");
session.setAttribute("name","霖苑计算机编程技术培训");
//session.putValue("name","计算机编程");
application.setAttribute("name","培训");
%>
page设定的值:<%=pageContext.getAttribute("name")%><br>
request设定的值:<%=pageContext.getRequest().getAttribute("name")%><br>
session设定的值:<%=pageContext.getSession().getAttribute("name")%><br>
application设定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>
范围1内的值:<%=pageContext.getAttribute("name",1)%><br>
范围2内的值:<%=pageContext.getAttribute("name",2)%><br>
范围3内的值:<%=pageContext.getAttribute("name",3)%><br>
范围4内的值:<%=pageContext.getAttribute("name",4)%><br>
<!--从最小的范围page开始,然后是reques、session以及application-->
<%pageContext.removeAttribute("name",3);%>
pageContext修改后的session设定的值:<%=session.getValue("name")%><br>
<%pageContext.setAttribute("name","应用技术培训",4);%>
pageContext修改后的application设定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>
值的查找:<%=pageContext.findAttribute("name")%><br>
属性name的范围:<%=pageContext.getAttributesScope("name")%><br>
</body></html>
页面显示结果:
page设定的值:jason test
request设定的值:霖苑编程
session设定的值:霖苑计算机编程技术培训
application设定的值:培训
范围1内的值:jason test
范围2内的值:霖苑编程
范围3内的值:霖苑计算机编程技术培训
范围4内的值:培训
pageContext修改后的session设定的值:null
pageContext修改后的application设定的值:应用技术培训
值的查找:jason test
属性name的范围:1