博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp jsp属性范围
阅读量:6919 次
发布时间:2019-06-27

本文共 1792 字,大约阅读时间需要 5 分钟。

jsp提供了4中属性分别是

当前页:一个属性只能在一个页面中取得,跳转淘其他页面无法取得。一次服务器请求:一个页面中设置的属性,只要经过了服务跳转,而跳转之后的页面可以继续取得一次回话:一个用户设置的内容,只要是此用户页面都可以访问上下文中:整个服务器上设置的属性,所有都可以访问属性的操作方法setAttribute(name,value)getAttribute(name)removeAttribute(name)

page属性范围

  page属性范围相对好理解一些:在一个页面设置的属性,跳转到其他页面就无法访问了。但是在使用page属性范围的时候必须要注意,虽然习惯上将范围属性称为page属性,但是实际上操作的时候使用pageContext内置对象完成的。

1026770-20180417150759247-1323694642.png

从该操作流程图上可以看出,第一个页面设置属性经过服务跳转到第二个页面以后,在第二个页面是无法取得第一个页面中设置的属性的。就好比现在坐着的桌子上有一只笔,但是一旦离开这张桌子,做到别的桌子上,笔就没有了。1) 在同一个页面中可以获取pageContext中设置的内容​<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
Insert title here <%  pageContext.setAttribute("name", "我爱杭州"); %> <%= pageContext.getAttribute("name") %> (输出信息--》我爱杭州)2) 在page中设置属性 然后 forword 到page2,在page2中无法获取pageContext中设置信息page.jsp<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
Insert title here <% pageContext.setAttribute("name", "我爱杭州"); %>
​page2.jsp<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>
Insert title here <%= pageContext.getAttribute("name") %>

pageContext的属性设置

pageContext,request,session,application,四种属性范围实际上都是通过pageContext范围来设置的pageContext继承了JspContext,在JspContext的setAttribute()方法如下:setAttribute(String name,Object value, int scope)这个setAttribute()方法如果右面不写int类型的SCOPE参数,则此参数默认为PAGE_SCOPE,如果传递过来的是int类型的参数REQUEST_SCOPE则此时的setAttibute()方法设置的就是request的属性范围。同样传递的是SESSION_SCOPE,APPLICATION_SCOPE,则表示session和application的属性范围

1026770-20180417150918770-1140503003.png

request的属性

rqequet属性范围表示在一次服务器跳转中有效,只是服务器,则设置的request属性可以一直传递下去。

1026770-20180417150936825-797000798.png

session属性范围

session设置的属性,不管是如何跳转,都可以取得的。当然session只针对一个用户。session在一个页面上设置的属性,跳转(服务器跳转/客户端跳转)到其他页面之后,其他页面依然可以取得第一个页面上设置的属性。

1026770-20180417150955494-1395825362.png

application属性范围

 application属性范围是服务器上设置的一个属性,所以一旦设置之后,任何用户都可以浏览到此属性

1026770-20180417151011618-21722975.png

转载于:https://www.cnblogs.com/ssgao/p/8866779.html

你可能感兴趣的文章
Ext.grid.GridPanel不需按住Ctrl键单元行多选效果实现
查看>>
gradle运行java main
查看>>
highmaps绘制用户分布地图
查看>>
K2K 亚太原创品牌崛起的故事,释放个性,诠释崭新生活态度
查看>>
jquery获取tr下标
查看>>
ssh 连接的时候 Host key verification failed. ssh
查看>>
oracle 11g rac
查看>>
编译php时遇到的错误
查看>>
我的友情链接
查看>>
如何解开开机密码?
查看>>
BGP的基本原理
查看>>
CentOS DNS resolv重启无效的解决方法
查看>>
M3外围电路设计若干问题
查看>>
python分布式进程
查看>>
zend studio 12.1更换work space方法
查看>>
Dism++安装win10体验
查看>>
mybatis 基本配置
查看>>
jdk8.0环境变量配置教程
查看>>
Java程序员从笨鸟到菜鸟之(六十六)细谈struts2(十二)struts2国际化底层大揭秘...
查看>>
hibernate集合映射inverse和cascade详解
查看>>