1. 程式人生 > >EL表達式的11個內置對象

EL表達式的11個內置對象

getx eth 數值 都在 包含 表達式語言 類型 jsession page

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表達式的11個內置對象