表 1 中列出了 11 個 EL 隱式對象的標識符。不要將這些對象與 JSP 隱式對象(一共只有九個)混淆,其中只有一個對象是它們所共有的。
表 1. EL 隱式對象
| 類別 |
標識符 |
描述 |
| JSP |
pageContext |
PageContext 執行個體對應於當前頁面的處理 |
| 範圍 |
pageScope |
與頁面範圍屬性的名稱和值相關聯的 Map 類 |
requestScope |
與請求範圍屬性的名稱和值相關聯的 Map 類 |
sessionScope |
與會話範圍屬性的名稱和值相關聯的 Map 類 |
applicationScope |
與Application 領域屬性的名稱和值相關聯的 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 目錄中。