Base-Jsp-5-在页面、请求和用户之间共享数据

本文主要介绍了JSP在页面、请求和用户间共享数据,以及将控制和数据从一个页面传递到另一个页面的方法。如使用<jsp:forward>传递控制,<jsp:param>添加请求参数。还阐述了JSP的不同作用域,包括page、request、session和application scope,以及<jsp:useBean>行为的使用。

v 在页面、请求和用户之间共享数据

       Ø 将控制从一个页面传递到另一个页面

              <jsp:forwqrd page=”somePage.jsp”/>

              该行为将结束对一个页面的处理,而开始处理由page属性指定的页面,该页面叫

              做目标页面。

              目标页面可以访问关于请求(request)的全部信息,包括所有的请求参数。还可以

              使用<jsp:param>行为元素加入额外的请求参数。

              <jsp:forwqrd page=”somePage.jsp”/>

                     <jsp:param name=”msg” value=”Invalid email address”/>

              </jsp:forward>

              <jsp:param>元素指定的参数会添加到从原始请求中得到的参数中。Page属性可以

              使用“/”开始的环境相关的路径,也可以使用相对路径(../foo/bar.jsp)。

例:路径c:/tomcat/webapps/myapp/registeration/userinfo下引用

       Page=”bar.jsp”

              c:/tomcat/webapps/myapp/registeration/userinfo/bar.jsp

       Page=”../foo/bar.jsp”

              c:/tomcat/webapps/myapp/registeration/foo/bar.jsp

       Page=”/foo/bar.jsp”

              c:/tomcat/webapps/myapp/foo/bar.jsp

Ø 将数据从一个页面传递到另一个页面

       为了在页面、请求和用户之间共享数据对象,JSP提供了不同的作用域(scope)。作用

       域定义了对象在多长时间内是可用的,以及它是仅可被一个用户使用,还是可以被应用

       程序的所有用户共用。

       JSP共定义以下几种作用域

i)                 page scope

ii)                request scope

iii)              seesion scope

iv)              application scope

® 默认作用域是页作用域,这个作用域中的对象知在该页面中可用。

® 请求作用域用于那些需要在所有处理同一请求的页面中都可用的对象

® 会话作用域中的对象可用于同一个浏览器发出的所有请求

® 应用程序作用域中的对象则被应用程序的所有用户所共享。

® <jsp:useBean>行为有一个scope属性,该行为保证bean 已经存在于该作用域中,或者创建一个新的bean,并将其放在指定的作用域中。

® <jsp:useBean>创建的bean可以作为EL表达式中的一个变量供人访问,一般情况下,仅指定变量即可,无论它保存在哪个作用域中,例如:    

       <c:out value=”${userInfo.userName}”/>

此时EL会按照以下作用域顺序来查找变量

i)                 <c:out value=”${pageScope.userInfo.userName}”/>

ii)                <c:out value=”${requestScope.userInfo.userName}”/>

iii)              <c:out value=”${sessionScope.userInfo.userName}”/>

iv)              <c:out value=”${application.userInfo.userName}”/>

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值