表 1 中列出了 11 個 EL 隱式對象的標識符。不要將這些對象與 JSP 隱式對象(一共只有九個)混淆,其中只有一個對象是它們所共有的。
類別 | 標識符 | 描述 |
JSP | pageContext |
PageContext 實例對應于當前頁面的處理 |
作用域 | pageScope |
與頁面作用域屬性的名稱和值相關聯的 Map 類 |
requestScope |
與請求作用域屬性的名稱和值相關聯的 Map 類 |
|
sessionScope |
與會話作用域屬性的名稱和值相關聯的 Map 類 |
|
applicationScope |
與應用程序作用域屬性的名稱和值相關聯的 Map 類 |
|
請求參數 | param |
按名稱存儲請求參數的主要值的 Map 類 |
paramValues |
將請求參數的所有值作為 String 數組存儲的 Map 類 |
|
請求頭 | header |
按名稱存儲請求頭主要值的 Map 類 |
headerValues |
將請求頭的所有值作為 String 數組存儲的 Map 類 |
|
Cookie | cookie |
按名稱存儲請求附帶的 cookie 的 Map 類 |
初始化參數 | initParam |
按名稱存儲 Web 應用程序上下文初始化參數的 Map 類 |
盡管 JSP 和 EL 隱式對象中只有一個公共對象(pageContext
),但通過 EL 也可以訪問其它 JSP 隱式對象。原因是 pageContext
擁有訪問所有其它八個 JSP 隱式對象的特性。實際上,這是將它包括在 EL 隱式對象中的主要理由。
其余所有 EL 隱式對象都是映射,可以用來查找對應于名稱的對象。前四個映射表示先前討論的各種屬性作用域。可以用它們來查找特定作用域中的標識符,而不用依賴于 EL 在缺省情況下使用的順序查找過程。
接下來的四個映射用來獲取請求參數和請求頭的值。因為 HTTP 協議允許請求參數和請求頭具有多個值,所以它們各有一對映射。每對中的第一個映射返回請求參數或頭的主要值,通常是恰巧在實際請求中首先指定的那個值。每對中第二個映射允許檢索參數或頭的所有值。這些映射中的鍵是參數或頭的名稱,但這些值是 String
對象的數組,其中的每個元素都是單一參數值或頭值。
cookie 隱式對象提供了對由請求設置的 cookie 名稱的訪問。這個對象將所有與請求相關聯的 cookie 名稱映射到表示那些 cookie 特性的 Cookie
對象。
最后一個 EL 隱式對象 initParam
是一個映射,它儲存與 Web 應用程序相關聯的所有上下文的初始化參數的名稱和值。初始化參數是通過 web.xml
部署描述符文件指定的,該文件位于應用程序的 WEB-INF
目錄中。