在 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") %>。

