pageContext对象

这个对象代表页面上下文,该对象主要用于访问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所示的效果。

1335230.jpg 
图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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3 Xml操作

读取xml内容&#xff1a;-*- coding:utf-8 -*- # Author: Evan Mi import xml.etree.ElementTree as ET tree ET.parse(test.xml) root tree.getroot() print(root.tag) # 一个节点有tag、attrib、text三个值 # tag是标签的名字 # text是标签的内容 # attrib是标签属性的字典…

【OpenCV学习笔记】2.1OpenCV基本数据类型

OpenCV提供了多种基本数据类型。虽然这些数据类型在C语言中不是基本类型&#xff0c;但结构都很简单&#xff0c;可将它们作为原子类型。可以在“…/OpenCV/cxcore/include”目录下的cxtypes.h文件中查看其详细定义。 数据类型中最简单的就是CvPoint。CvPoint是一个包含intege…

noi.ac #543 商店

我们考虑可并堆维护&#xff0c;从深到浅贪心选取。 用priority_queue启发式合并的话&#xff0c;是60pts: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<queue> #include<ct…

python3 os模块相关方法

# -*- coding:utf-8 -*- # Author: Evan Mi import os # 获取当前工作目录&#xff0c;即当前python脚本工作的目录路径 print(os.getcwd()) # 切换当前路径 os.chdir(c:/users) os.chdir(rc:\users) print(os.getcwd()) # 验证当前路径是否切换成功 # 返回当前目录的字符串名…

软件设计师--文件索引

问题&#xff08;题目&#xff09;如下图所示&#xff1a;这道题最中要的是理解什么是直接索引、一级间接索引、二级间接索引&#xff1a; 直接索引&#xff1a;地址项直接指向文件块 一级间接索引&#xff1a;地址项&#xff08;一层&#xff09;指向存放地址项&#xff08;二…

什么是格局、境界、眼界、眼光

格局&#xff1a;指人对认知范围内事物认知的程度到何种地步。 &#xff08;思想的深度、眼界的宽度、境界的高度、胸怀的广度决定格局。&#xff09; 境界&#xff1a;指人的思想觉悟和精神修养。 眼界&#xff1a;见识的广度。 眼光&#xff1a;观察鉴别能力。 转载于:https:…

python3 time datetime相关操作

time模块中的相关操作&#xff1a; # -*- coding:utf-8 -*- # Author: Evan Mi import time # 获得时间戳,当前时区的 print(time.time()) # 不传参数获得格林威治时间tuple&#xff0c;传入秒数的话就是把秒数转为tuple print(time.gmtime()) # 不传参数将获得当前时区的时间t…

python3 random模块操作

# -*- coding:utf-8 -*- # Author: Evan Mi import random # 产生一个 >0 并且 <1 的随机浮点数 print(random.random()) """ Get a random number in the range [a, b) or [a, b] depending on rounding. 获得一个[1,3)或者[1,3]范围内的随机浮点数&…

Floyd算法及其应用

Part I-Introduction Floyd算法是一种求图上多源最短路径的算法&#xff0c;适用于中小规模的图&#xff0c;思维简单易懂。 Floyd算法的实质是&#xff08;区间&#xff09;动态规划&#xff0c;在这里做一个简单的概述。 对于一个有\(n\)个结点的图&#xff0c; 令\(dis[i][j…

软件设计师--最早开始时间和最晚开始时间

题目如图所示&#xff0c;解法如下&#xff1a; 方法&#xff1a; 先求最早开始时间&#xff1a;A是开始节点&#xff0c;所以A的最早开始时间是0&#xff0c;并且最早开始时间等于最晚开始时间。等得到图中红色的部分。 其他节点的最早开始时间为以该节点作为弧头的所有有向…

声笔双拼单字效率分析

-----------------------声笔双拼单字效率分析-------------------------- 2 keys: 21 items, 99131909.00 times, covering 17.48 % 2 keys: 21 items, 99131909.00 times, covering 17.48 % 3 keys: 1774 items, 371822394.00 times, c…

软件设计师 --哈夫曼树的一个经典问题

题目如下&#xff1a;有很多人反应&#xff0c;他们怎么做都做不出正确的答案&#xff0c;结果发过他们画的哈夫曼树的图以后&#xff0c;发现图完全是错误的&#xff1b; 如下图所示&#xff1a;为什么错误的&#xff0c;因为在遇到有两个权重为17的树的时候&#xff0c;没有遵…

谈谈枚举和 那啥 那啥来着 哦 对对对 泛型!

枚举类型 是 用于声明一组命名的常数 的 基本数据类型&#xff08;值类型&#xff09;。enum <enum_name> { enumeration list }; 这个就是枚举一般用法。其中&#xff0c;enum_name 指定枚举的类型名称。enumeration list 是一个用逗号分隔的标识符列表。枚举列表中…

python3 shutil模块

# -*- coding:utf-8 -*- # Author: Evan Mi import shutil """ 主要作用是拷贝文件、拷贝文件的权限、状态信息以及压缩文件、移动文件、删除文件 """# 将一个文件对象的内容拷贝到另一个文件对象中,可以部分内容 """ f1 open(r…

mini2440烧写nor flash

1. 安装Setup_JLinkARM_V440.exe 2. 打开JLINK ARM 3. File->Open Project&#xff0c;打开 s3c2440a_embedclub.jflash4. Options->Project settings... 选择 Flash&#xff0c;点击 Select flash device&#xff0c;选中开发板对应的 Nor Flash 芯片型号。比 如 S29AL0…

软件设计师--判定覆盖,判定条件覆盖,条件组合覆盖--一个栗子

针对上图的一个判断条件&#xff0c;在这里将分别讨论判定覆盖、判定条件覆盖、条件组合覆盖的情况&#xff1a; 设T1A>3,T2B>3;为该判定节点的两个子条件。 (一&#xff09;判定覆盖&#xff1a; 所谓的判定覆盖就是让判定的真分支和假分支各执行一次&#xff0c;只要…

sqliteman install parameter

1、安装前准备系统要求&#xff1a;linuxQt库版本&#xff1a;一般都有2、安装文件 官网自行下载3、安装1&#xff09;这里用的pscp pscp .\sqliteman-1.2.2.tar.gz root192.168.30.140:/root/from_pscp2&#xff09;tar xf sqliteman-1.2.2.tar.gz3&#xff09;执行 cmake -D…

python3 多继承搜索__init__方法的两种策略

继承情形一&#xff1a;测试代码如下&#xff1a; class A(object):def __init__(self):print(A)class B(object):def __init__(self):print(B)class C(A):def __init__(self):print(C)class D(B): def __init__(self):print(D)class E(C, D):pass执行当前代码 xE()&#xff0c…

Unity Shader 屏幕后效果——Bloom外发光

Bloom的原理很简单&#xff0c;主要是提取渲染图像中的亮部区域&#xff0c;并对亮部区域进行模糊处理&#xff0c;再与原始图像混合而成。 一般对亮部进行模糊处理的部分采用高斯模糊&#xff0c;关于高斯模糊&#xff0c;详见之前的另一篇博客&#xff1a; https://www.cnblo…