EL表達式的內置對象


在EL表達式中,無需創建就可以使用的對象稱之為EL隱藏(隱含、內置)對象。在EL中一共有11個隱藏對象,它們都與Map相似。其中10是Map,一個是 PageContext。

參數隱藏對象

這些隱藏對象都是Map類型!

1、param:param是Map<String,String>類型!param對象可以用來獲取參數,與request.getParameter()方法相同。

  注意,在使用EL獲取參數時,如果參數不存在,返回的是空字符串,而不是null。這一點與使用request.getParameter()方法是不同的。

2、paramValues:paramValues是Map<String, String[]>類型,當一個參數名,對應多個參數值時可以使用它。

3、header:header是Map<String,String>類型,用來獲取請求頭。

4、headerValues:headerValues是Map<String,String[]>類型。當一個請求頭名稱,對應多個值時,使用該對象,這里就不在贅述。

5、initParam:initParam是Map<String,String>類型。它對應web.xml文件中的<context-param>參數。

6、cookie:cookie是Map<String,Cookie>類型,其中key是Cookie的名字,而值是Cookie對象本身。

域隱藏對象

使用EL表達式最為常用的就是獲取域對象中保存的數據。例如:${pageScope.xxx},表示獲取在pageContext保存的數據。當然${pageScope[‘xxx’]}是相同的!

7、pageScope:pageScope是Map<String,Object>類型,${pageScope.xxx}的功能相等與pageContext.getAttribute(“xxx”)。兩者的區別在於,前者在數據不存在時返回空字符串,而后者返回null。

8、requestScope:requestScope是Map<String, Object>類型,裝載了request對象中的所有數據;

9、sessionScope:sessionScope是Map<String, Object>類型,裝載了session對象中的所有數據;

10、applicationScope:applicationScope是Map<String, Object>類型,裝載了application對象中的所有數據;

當EL中給出的不是隱藏對象時,表示在四個域中查找數據。例如:${a},表示

  l  在${pageScope.a}中查找,如果找到就返回;

  l  在${requestScope}中查找,如果找到就返回;

  l  在${sessionScope}中查找,如果找到就返回;

  在${applicationScope}中查找,如果找到就返回,找不到就返回空字符串。

頁面上下文隱藏對象

11、pageContext:pageContext是PageContext類型!可以使用pageContext對象調用getXXX()方法,例如pageContext.getRequest,可以${pageContext.request}。

Expression

說明

${pageContext.request.queryString}

pageContext.getRequest().getQueryString();

${pageContext.request.requestURL}

pageContext.getRequest().getRequestURL();

${pageContext.request.contextPath}

pageContext.getRequest().getContextPath();

${pageContext.request.method}

pageContext.getRequest().getMethod();

${pageContext.request.protocol}

pageContext.getRequest().getProtocol();

${pageContext.request.remoteUser}

pageContext.getRequest().getRemoteUser();

${pageContext.request.remoteAddr}

pageContext.getRequest().getRemoteAddr();

${pageContext.session.new}

pageContext.getSession().isNew();

${pageContext.session.id}

pageContext.getSession().getId();

${pageContext.servletContext.serverInfo}

pageContext.getServletContext().getServerInfo();

示例代碼:鏈接: http://pan.baidu.com/s/1mhPNoAc 密碼: b5s9


免責聲明!

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



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