在 EL 中提供有 11 個隱含物件,其中除了 pageContext 隱含物件對應 PageContext 之外,其它隱含物件都是對應 Map 型態。
- pageContext隱含物件- 對應於 - PageContext型態,- PageContext本身就是個 JavaBean,只要是- getXxx()方法,就可以用- ${pageContext.xxx}來取得。
- 屬性範圍相關隱含物件 - 與屬性範圍相關的 EL 隱含物件有 - pageScope、- requestScope、- sessionScope與- applicationScope,分別可以取得使用 JSP 隱含物件- pageContext、- request、- session與- application的- setAttribute()方法所設定的屬性物件。如果不使用 EL 隱含物件指定作用範圍,則預設從- pageScope的屬性開始尋找。- 注意!EL 隱含物件 - pageScope、- requestScope、- sessionScope與- applicationScope不等同於 JSP 隱含物件- pageContext、- request、- session與- application。EL 隱含物件- pageScope、- requestScope、- sessionScope與- applicationScope僅僅代表作用範圍。
- 請求參數相關隱含物件 - 與請求參數相關的 EL 隱含物件有 - param與- paramValues。- 舉例來說, - ${param.user}其作用相當於- <%= request.getParameter("user") %>。- paramValues則相當於- request.getParameterValues(),可以取得表單多選項的值,由於傳回的是多個值, 你可以使用- []運算子來指定取得哪個元素,例如- ${paramValues.favorites[0]}就相當於- <%= request.getParameterValues("favorites")[0] %>。
- 標頭(Header)相關隱含物件 - 如果要取得使用者請求的表頭資料,則可以使用 - header或- headerValues隱含物件。例如- ${header["User-Agent"]}相當於- <%= request.getHeader("User-Agent") %>。- headerValues則作用相當於- request.getHeaders()方法。
- cookie隱含物件- cookie隱含物件可以用來取得使用者的 Cookie 設定值。如果你在 Cookie 中設定了- username屬性,則可以使用- ${cookie.username}來取得值。
- 初始參數隱含物件 - initParam可以用來取得 web.xml 中設定的- ServletContext初始參數,也就是在- <context-param>中設定的初始參數。例如- ${initParam.initCount}的作用,相當於- <%= servletContext.getInitParameter("initCount") %>。

