EL的隐含对象 访问作用域范围的隐含对象

Posted java小斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL的隐含对象 访问作用域范围的隐含对象相关的知识,希望对你有一定的参考价值。

在EL中提供了4个用于访问作用域范围的隐含对象,即pageScope、requestScope、sessionScope和applicationScope。应用这4个隐含对象指定所要查找的标识符的作用域后,系统 将不再按照默认的顺序(page、request、session以及application)来查找相应的标识符。

(1)pageScope隐含对象

该对象用于返回包含page(页面)范围内的属性值的集合,返回值为java.util.Map对象。

例:通过pageScope隐含对象读取page范围内的JavaBean的属性值。

 ①创建一个名称为UserInfo的JavaBean,并将其保存到com.wgh包中。在该JavaBean中包含一个name属性,具体代码如下:

 1 package com.wgh;
 2 public class UserInfo {
 3     private String name = "";    //用户名
 4     /**
 5      * 函数名称:setName
 6      * 函数作用:name属性对应的set()方法
 7      * @param name
 8      */
 9     public void setName(String name) {
10         this.name = name;
11     }
12     /**
13      * 函数名称:getName
14      * 函数作用:name属性对应的get()方法
15      * @return   name
16      */
17     public String getName() {
18         return name;
19     }
20 }

②编写index_pageScope.jsp文件,在该文件中应用<jsp:useBean>动作标识,创建一个page范围内的JavaBean实例,并设置name属性的值为wgh;同时在<body>标签中应用pageScope隐含对象获取该JavaBean实例的name属性值,index_pageScope.jsp文件中的代码如下:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <jsp:useBean id="user" scope="page" class="com.wgh.UserInfo" type="com.wgh.UserInfo">
 5     <jsp:setProperty name="user" property="name" value="java web从入门到精通"></jsp:setProperty>
 6 </jsp:useBean>
 7 <html>
 8 <head>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <title>通过pageScope隐含对象读取page范围内的JavaBean的属性值</title>
11 </head>
12 <body>
13     ${pageScope.user.name }
14     <br>
15 </body>
16 </html>

运行结果:

(2)requestScope隐含对象

requestScope隐含对象用于返回包含request请求范围内的属性值的集合,返回值为java.util.Map对象。

例:要获取保存在request范围内的userName变量,可以使用一下代码:

1 <%
2     request.setAttribute("userName","mr");    //定义request范围内的变量userName
3 %>
4 ${requestScope.userName}

(3)sessionScope隐含对象

sessionScope隐含对象用来返回包含session会话范围内的属性的集合,返回值为java.util.Map对象。

例:要获取保存在session范围内的manager变量,可以使用下面代码:

1 <%
2     session.setAttribute("manager","mr");    //定义session范围内的变量marager
3 %>
4 ${sessionScope.manager}

(4)applicationScope隐含对象

applicationScope隐含对象用于返回包含application应用范围内的属性值的集合,返回值为java.util.Map对象。

例:要获取保存在application范围内的message变量,可以使用下面的代码:

1 <%
2     application.setAttribute("message","欢迎学习java");    //定义application范围内的变量message
3 %>
4 ${applicationScope.message}

 

以上是关于EL的隐含对象 访问作用域范围的隐含对象的主要内容,如果未能解决你的问题,请参考以下文章

EL的隐含对象访问环境信息的隐含对象

JSTL和EL

JSP中的隐含对象

EL表达式的11隐含对象

JavaWeb 学习笔记总结( 二 )

j2ee四大作用域pagecontext,request,session,ServletContext(转)