page属性范围深入

在javax.servlet.jsp.PageContext中发现还有如下属性设置方法:

NO

方法

类型

描述

1

Public  void setAttribute(String name, Object o, int scope)

普通

设置属性并指定保存范围

而scope的方法有如下4种:

NO

方法

类型

描述

1

Public  static final int PAGE_SCOPE

常量

表示page属性范围,默认

2

Public  static final int REQUEST_SCOPE

常量

表示 request属性范围

3

Public  static final int SESSION_SCOPE

常量

表示 session属性范围

4

Public  static final int APPLICATION_SCOPE

常量

表示application属性范围

由上两表可知其实用pageContext也可以对4种属性全部指定设置。

例1

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*"%>    <%--导java.util包--%>
<html>
<head><title>page_scope</title>
</head>
<body>
<%//设置request属性范围,此属性服务器跳转属性有效pageContext.setAttribute("name", "郑廉晨", PageContext.REQUEST_SCOPE);pageContext.setAttribute("birthday", new Date(), PageContext.REQUEST_SCOPE);
%><jsp:forward page="request_scope_02.jsp" />       <%--进行服务器跳转--%></body>
</html>
<%--request属性: 服务器跳转属性有效--%><%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*"%>    <%--导java.util包--%>
<html>
<head><title>request_scope</title>
</head>
<body><%//从当前页面取出属性,并执行向下转型操作String username = (String) request.getAttribute("name");Date userbirthday = (Date) request.getAttribute("birthday");
%><h2>姓名:<%=username%></h2>
<h2>生日:<%=userbirthday%></h2></body>
</html>

例2

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*"%>    <%--导java.util包--%>
<html>
<head><title>page_scope</title>
</head>
<body>
<%//设置request属性范围,此属性服务器跳转属性有效pageContext.setAttribute("name", "郑廉晨", PageContext.SESSION_SCOPE);pageContext.setAttribute("birthday", new Date(), PageContext.SESSION_SCOPE);
%><!--通过超链接跳转,属于客户端跳转,地址栏有变化哦-->
<a href="session_scope_02.jsp">通过超链接取得属性</a></body>
</html>
<%--session属性: 在一个浏览器中属性都有效--%><%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*"%>    <%--导java.util包--%>
<html>
<head><title>request_scope</title>
</head>
<body><%//从当前页面取出属性,并执行向下转型操作String username = (String) session.getAttribute("name");Date userbirthday = (Date) session.getAttribute("birthday");
%><h2>姓名:<%=username%></h2>
<h2>生日:<%=userbirthday%></h2></body>
</html>

以上内容参考JAVAWEB开发实战经典(名师讲坛)

转载于:https://blog.51cto.com/udbful/1683105

02_03 JSP内置对象之page相关推荐

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

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

  2. Jsp内置对象及EL表达式的使用

    一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...

  3. jsp内置对象【02】四种内置对象【02】session、application

    我们继续来学习,上一篇文章中说到了request属性,那么既要想客户端和服务端都都能实现跳转的话,就用到了session. 第三种:session属性 我们接着修改一下上一篇文章中的代码来对比一下: ...

  4. JavaWeb第三讲 JSP内置对象、基本动作指令、常见编译指令及四大作用域

    JSP内置对象.基本动作指令.常见编译指令及四大作用域 (一) JSP工作原理 当一个jsp页面第一次被访问的时候,jsp将执行以下三个步骤,之后的访问速度会因为class文件已经生成而大大提高,当j ...

  5. jsp内置对象+Servlet

    一,jsp内置对象 1. request:请求对象: request.getParameter();得到一个参数:获得提交表单中唯一的值: request.getParameterValues();得 ...

  6. java遇上html,JAVA遇见HTML——JSP篇:JSP内置对象(上)

    JSP九大内置对象 JSP内置对象是Web容器创建的一组对象,不使用new关键就可以使用的内置对象. int[] value={60,70,80}; for(int i:value){ out.pri ...

  7. [02] JSP内置对象

    1.内置对象的来历 JSP是由一些内置对象的,即不需要定义,也不需要我们主动创建,就可以直接使用的对象.当然,其对象名称也是固定的,无法修改,我们可以直接调用其相关方法. 在 [01] JSP的基本认 ...

  8. EL表达式,JSP内置对象

    基本语法格式 EL都是以 ${ 为起始.以} 为结尾的 ${ EL Expression} 示例: ${ "Helloworld" }  //输出字符串常量 ${ str }  / ...

  9. 【JSP笔记】第四章 JSP内置对象【下】

    2019独角兽企业重金招聘Python工程师标准>>> 1.什么是session 表示客户端与服务器的一次会话. Web中的session指用户浏览网站时,从进入网站到浏览器关闭的这 ...

最新文章

  1. mongodb系列~mongodb慢语句(2)
  2. half extents
  3. java hashmap 去重复_为什么我在Java HashMap中得到重复的键?
  4. 学习使用Free RTOS ,移植最新的STM32 v3.5固件库
  5. android中变量作用域,在 Android 和 Hilt 中限定作用域
  6. 织梦dede 5.7系统基本参数无法修改保存,提示Token mismatch!
  7. linux操作系统进程间通信IPC之共享存储映射
  8. matlab两张图片合成一张_二次曝光合成手机照片剪影照并不难,这样用snapseed轻松实现...
  9. B. Balanced Lineup
  10. win10下装win7双系统_电脑安装双系统win7+win10,安装顺序不同,使用会有什么不同?...
  11. 大数据分析平台有哪些主要功能
  12. C#中对txt文件的读写操作
  13. 高会职称计算机课程,2017高会《职称计算机》模块精讲:Windows Media Player(一)...
  14. HTML与CSS面试题
  15. p值小于0.05拒绝还是接受_干货:关乎你的实验成败,0.05这个值不容小觑!
  16. 北京地铁行业远期规划与建设融资规划报告2022版
  17. Linux-Kali——安装软件_添加桌面快捷方式启动器_添加到应用程序菜单_Kali安装Typora
  18. java应用 cpu占用过高问题分析及解决方法
  19. Thinkphp中的assign() 和 display()
  20. 使用METIS软件包进行图划分

热门文章

  1. 关闭 启动_win10系统关闭快速启动功能教程
  2. java中1%4是多少,四则运算(java) 王哲文 邹庭和
  3. php镂空窗,木窗镂空的雕刻象征着什么?黑色在彝族人民心中有何寓意?陆川猪为何是著名“陆川三宝”之一?...
  4. 修改java bean,java – 以编程方式修改Spring bean
  5. vue cli element 项目结构
  6. redis 缓存 淘汰
  7. setuptools Automatic Script Creation
  8. 03 unix 设计哲学和流重定向
  9. linux 安装nodejs8,CentOS 安装NodeJS V8.0.0的方法
  10. vba monthview控件64位_VBA学习