这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。使用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获取各变量所在的范围。

浏览上面页面,可以看到如图2.23所示的效果。

 
图2.23  使用pageContext操作各范围属性的效果

图2.23中显示了使用pageContext获取各属性所在的范围,其中这些范围获取的都是整型变量,这些整型变量分别对应如下4个生存范围。

1:对应page生存范围。

2:对应request生存范围。

3:对应session生存范围。

4:对应application生存范围。

转载于:https://www.cnblogs.com/liyulu/archive/2008/12/17/1356818.html

pageContext对象相关推荐

  1. JAVA-JSP内置对象之pageContext对象取得不同范围属性

    相关资料: <21天学通Java Web开发> pageContext对象取得不同范围属性 pageContextDemo.jsp 1 <%@ page language=" ...

  2. 案例:演示pageContext对象的使用及源码分析获取属性方法

    一.创建pageContext.jsp <%@ page language="java" contentType="text/html; charset=UTF-8 ...

  3. pageContext对象、JSP标签

    pageContext对象.JSP标签.如何查找JSP页面中的错误 pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它 ...

  4. pageContext对象的用法详述

    感谢原文作者:nickcenter 原文链接:https://www.cnblogs.com/nickup/p/9004594.html pageContext对象 这个对象代表页面上下文,该对象主要 ...

  5. pageContext对象和config对象

    新建一个页面使用其中某些方法 可以用该语句获取session_page1里面的用户名username 使用forword方法可以跳转页面,这里跳转至index.jsp页面 打开pageContext. ...

  6. JSP中page(也即this)对象与pageContext对象区别

    page java.lang.Object 对应this关键字.JSP网页本身,page对象是当前页面转换后的Servlet类的实例.从转换后的Servlet类的代码中,可以看到这种关系:Object ...

  7. JSP内置对象-pageContext

    pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out.request.reponse.session.application 等对象.pageContext对象的 ...

  8. 转:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别

    原文地址:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别 首先说明一下jsp9大内置对象 (1)HttpSession类的session对 ...

  9. javaweb之jsp的内置九大对象(request,response,out,session,application,pageContext,page,config,exception)的说明应用

    四.jsp的九大内置对象 jsp内置对象是指在警示牌页面中不用声明就可以在脚本和表达式中直接使用的对象. **特点** 内置对象有Web容器自动加载,不需要实例化. 内置对象通过Web容器来管理和实现 ...

最新文章

  1. caffe-cuda测试
  2. ABAP:FTP Using SAP Functions
  3. iOS - 数据持久化之 FMDB 的使用
  4. Android(java)学习笔记10:同步中的死锁问题以及线程通信问题
  5. led显示屏控制卡接线图解_Led显示屏出现花屏是什么原因
  6. 最新java初级高级,python基础进阶,机器学习视频资料
  7. IoT边缘,你究竟是何方神圣?
  8. import java.io用什么写_问问各位大佬,使用了fiilewrite,为什么写入不到文件
  9. flutter用英语怎么说_手机流量套餐用英语怎么说?
  10. echar 数据显示在小圆点里
  11. 【USB电压电流表】基于STM32F103C8T6 for Arduino
  12. PCBA方案设计——蓝牙脂肪心率秤方案
  13. 3.22 进口物料的报关手册核销
  14. AD9854的工作原理和应用电路图
  15. js实现监听键盘的收起和弹出
  16. Xposed框架动态调试第三方APP—实战演示
  17. Java基础重温_06:Debug模式(打断点、下一步),基础练习案例(减肥计划if,switch版本、逢七跳过、不死神兔、百钱白鸡、数组元素(求和,索引位置,反转)、判断数组是否相同、评委打分)
  18. HDU 5669 Road(线段树建树)(分层图最短路)
  19. Android 浅谈 Activity (下)
  20. 该模型为PMSM的脉振高频注入法识别电机在低速下的位置,注入d轴,信号进在q轴进行幅值调制经LPF得到转子误差信号

热门文章

  1. 全局事件总线 (GlobalEventBus)
  2. 2019技术学习规划
  3. 2021年3月15日_读书|总结笔记目录
  4. mysql多副本搭建_一个简单的MySQL多实例环境搭建
  5. android studio 集成 第三方sdk,Android FrameWork集成第三方SDK的jar包和so庫
  6. mysql中pi是什么意思_MySQL 基础知识与常用命令
  7. KMP算法 串模式识别 用nextval[j]改进next[j]
  8. 华为开启管理员模式_又一年的心动模式开启,华为nova8系列8号色撩人肺腑
  9. python鼠标移动轨迹_鼠标的另一种选择,肯辛通轨迹球能否改变固有的使用习惯?...
  10. java 模拟平台_用Java程序模拟登陆网站平台