pageContext对象

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
原文地址:https://www.cnblogs.com/liaojie970/p/4938726.html