(1)
pageContext對象
這個對象代表頁面上下文,該對象主要用於訪問JSP之間的共享數據。
pageContext是PageContext類的實例,使用pageContext可以訪問page、request、session、application范圍的變量。
getAttribute(String name):取得page范圍內的name屬性。
setAttribute(String name,值,int scope):如果沒有指定scope,該屬性默認在page范圍內,如:pageContext.setAttribute("page","hello");
使用pageContext將屬性設置在request范圍中pageContext.setAttribute("request2","hello" , pageContext.REQUEST_SCOPE);
使用pageContext將屬性設置在session范圍中pageContext.setAttribute("session2","hello" , pageContext.SESSION_SCOPE);
使用pageContext將屬性設置在application范圍中pageContext.setAttribute("app2","hello" , pageContext.APPLICATION_SCOPE);
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