EL表達式中的11個隱式對象


 EL表達式中定義了11個隱式對象,使用這些隱式對象可以很方便地讀取到CookieHTTP請求消息頭字段、請求參數、
Web應用程序中的初始化參數的信息,EL表達式中的隱式對象具體如下:

隱式對象 作用
pageContext 對應於JSP頁面中的pageContext對象
pageScope 代表page域中用於保存屬性的Map對象
requestScope 代表request域中用於保存屬性的Map對象
sessionScope 代表session域中用於保存屬性的Map對象
applicationScope 代表application域中用於保存屬性的Map對象
param 表示一個保存了所有請求參數的Map對象
paramValues 表示一個保存了所有請求參數的Map對象,它對於某個請求參數, 返回的是一個string類型數組
header 表示一個保存了所有http請求頭字段的Map對象
headerValues 表示一個保存了所有http請求頭字段的Map對象,返回string類型數組
cookie 表示一個保存了所有cookie的Map對象
initParam 表示一個保存了所有web應用初始化參數的map對象



1、pageContext對象
     EL表達式中的pageContext隱式對象與JSP頁面中的pageContext對象相對應,EL表達式可以通過pageContext隱式
對象訪問其它JSP隱式對象,如訪問request、response對象屬性時,可以使用表達式${pageContext.request.requestURI}
表達式${pageContext.response.contentType}等。

2、代表特定域屬性的隱式對象(共4個)

     EL表達式中的pageScope、requestScope、sessionScope和applicationScope四個隱式對象分別用於訪問JSP頁面的page、request、session、application四個域中的屬性。例如,表達式${pageScope.userName}返回page作用域中的userName屬性的值,表達式${sessionScope.bookName}返回session作用域中的bookName屬性的值。

     在EL表達式中也可以不使用這些隱式對象來指定查找域,而是直接引用這些域中的屬性名稱。例如,表達式${userName}就會在page、request、session、application這四個作用域內按順序依次查找userName屬性,直到找到為止。

3、代表請求參數的隱式對象(2個)

     EL表達式中的隱式對象 paramparamValues用於獲取客戶端訪問 JSP頁面時傳遞的請求參數的值,由於 HTTP協議允許使用一個請求參數名出現多次,即一個請求參數可能會有多個值,所以, EL表達式提供了 paramparamValues這兩個隱式對象來分別獲取請求參數的某個值和所有值。

     Param隱式對象用於返回一個請求參數的某個值,如果同一個請求參數有多個值,則返回第一個參數的值。paramValues隱式對象用於返回一個請求參數的所有值,返回結果為該參數的所有值組成的字符串數組,例如表達式${paramValues.username[0]}用於返回數組中第一個元素的值。

4、代表HTTP請求消息的隱式對象(2個)

    EL表達式中的隱式對象header和headerValues用於獲取客戶端訪問JSP頁面時傳遞的請求頭字段的值。由於HTTP協議允許一些請求頭字段出現多次,即一個請求頭字段可能會有多個值,所以,EL表達式提供了header和headerValues兩個隱式對象分別用於獲取請求頭字段的某個值和所有值。

     header隱式對象返回一個請求頭字段的某個值,如果同一個請求頭字段有多個值,則返回第一個值,例如,使用表達式${header.referer}可以非常方便的獲取referer請求頭字段的值。headerValues隱式對象用於返回一個請求頭字段所有值組成的字符串數組。

5、cookie隱式對象
     EL表達式中的隱式對象cookie是一個代表所有Cookie信息的Map集合,Map集合中元素的關鍵字為各個Cookie的名稱,值則為對應的Cookie對象。使用cookie隱式對象可以訪問某個Cookie對象,這些Cookie對象則是通過調用HTTPServletRequest.getCookies()方法得到的,如果多個Cookie共用一個名稱,則返回Cookie對象數組中的第一個Cookie對象。例如,要訪問一個名為userName的Cookie對象,可以使用表達式${cookie.userName}。

6、initParam隱式對象

    EL表達式中的initParam是一個代表Web應用程序中的所有初始化參數的Map對象,每個初始化參數的值是ServletContext.getInitParameter(String name)方法返回的字符串。Web應用程序的初始化參數可以通過兩種方式來配置,分別是在server.xml文件中配置和在web.xml文件中配置,具體如下:
       (1)在server.xml文件中配置Web應用程序的初始化參數:
 
   
 
       (2)在web.xml文件中配置Web應用程序的初始化參數:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM