pageContext对象是JSP中很重要的一个内置对象;
1.pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数。
getAttribute(String name):取得page范围内的name属性。
setAttribute(String name, Object value, int scope):如果没有指定scope,该属性默认在page范围内,如:pageContext.setAttribute("page","hello");
范围参数有四个,分别代表四种范围:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE
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>
3.显示结果
page设定的值:jason test request设定的值:霖苑编程 session设定的值:霖苑计算机编程技术培训 application设定的值:培训 范围1内的值:jason test 范围2内的值:霖苑编程 范围3内的值:霖苑计算机编程技术培训 范围4内的值:培训 pageContext修改后的session设定的值:null pageContext修改后的application设定的值:应用技术培训 值的查找:jason test 属性name的范围:1