EL表達式

EL是JSP內置的表達式語言
JSP2.0開始,讓再使用Java腳本,而是使用EL表達式和動態標簽來代替Java腳本
EL替代的是<%=... %>,也就是說EL只能做輸出
EL可以輸出的東西都在11個內置對象中,11個內置對象,其中10個是Map,只有pageContext不是Map,它就是PageContext類型,EL所有內置對象如下:

pageScope:獲取pageContext域屬性,相當于pageContext.getAttribute("xxx")
requestScope:獲取request域屬性,相當于request.getAttribute("xxx")
sessionScope:獲取session域屬性,相當于session.getAttribute("xxx")
applicationScope:獲取application域屬性,相當于application.getAttribute("xxx")
param:對應參數,它是一個Map,其中key是參數,value是參數值,適用于單值的參數,相當于request.getParameter("xxx")
paramValues:對應參數,她是一個Map,其中key是參數,value是多個參數值,適用于多值的參數,相當于request.getParameterValues("xxx")
header:對應請求頭,它是一個Map,其中key表示頭名稱,value是單個頭值,適用于單值的請求頭,相當于request.getHeader("xxx")
headerValues:對應請求頭,它是一個Map,其中key表示頭名稱,value是多個頭值,適用于多值的請求頭,相當于request.getHeaders("xxx")
initParam:獲取web.xml中<context-param>內的參數,${ initParam.xxx},xxx就是<param-name>標簽內的值,進而得到<param-value>中的值
cookie:用于獲取cookie,Map<String,Cookie>,其中key是cookie的name,value是cookie對象,例如${cookie.JSESSIONID.value }就是獲取sessionId
pageContext:可以獲取JSP九大內置對象,相當于使用該對象調用getxxx()方法,例如pageContext.getRequest()可以寫為${pageContext.request)

EL表達式在獲取Map的值或Bean的屬性值是,可以使用“點”的方法,也可以使用“下標”的方法。
${initParam.a}與${initParam['a']},它們是完成的東西相同的。但是,如果Map的鍵或Bean的屬性名中包含下劃線或橫崗時,那么就必須使用“下標”方法,例如:${initParam['a_a']}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • EL表達式 1、EL簡介 1)語法結構 ${expression} 2)[]與.運算符 EL 提供.和[]兩種運算...
    二把刀9527閱讀 12,993評論 0 2
  • 大家好,我是IT修真院深圳分院java第4期學員,一枚正直善良的java程序員。今天給大家分享一下,修真院官網ja...
    肥胖癥患者閱讀 587評論 0 0
  • 在MVC體系結構中,JSP頁面只是用來顯示數據,但JSP腳本中的表達式功能不夠強大,它不能直接對隱式對象中某對象的...
    墨白找閱讀 527評論 0 1
  • 轉載http://codingxiaxw.cn/ 1. 概述 EL,即Expression Language。在J...
    joshul閱讀 124評論 0 0
  • 一、EL表達式簡介 1.EL全名為Expression Language。主要作用: 獲取數據:EL表達式主要用于...
    yjaal閱讀 4,048評論 2 28