1. 程式人生 > >EL的隱含對象 (二)【訪問作用域範圍的隱含對象】

EL的隱含對象 (二)【訪問作用域範圍的隱含對象】

itl ssi attr Language ext this ans 編寫 esc

在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的隱含對象 (二)【訪問作用域範圍的隱含對象】