EL表達式個人總結

1、語法結構
${expression}
2、[ ]與.運算符
EL 提供“.“和“[ ]“兩種運算符來存取數據。
當要存取的屬性名稱中包含一些特殊字符,如 . 或 - 等並非字母或數字的符號,就一定要使用“[ ]“。例如:
${ user. My-Name}應當改爲${user["My-Name"]}
如果要動態取值時,就可以用“[ ]“來做,而“.“無法做到動態取值。例如:
${sessionScope.user[data]}中data 是一個變量
3、變量
EL存取變量數據的方法很簡單,例如:${username}。它的意思是取出某一範圍中名稱爲username的變量
因爲我們並沒有指定哪一個範圍的username,所以它會依序從Page、Request、Session、Application範圍查找。
假如途中找到username,就直接回傳,不再繼續找下去,但是假如全部的範圍都沒有找到時,就回傳null。
屬性範圍在EL中的名稱
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope

注:${param.username}與${username}中,${param.username} <=><%= request.getParameter("username") %>;${username}找的範圍大。


4、EL隱含對象 1.與範圍有關的隱含對象 
與範圍有關的EL 隱含對象包含以下四個:pageScope、requestScope、sessionScope 和applicationScope; 它們基本上就和JSP的pageContext、request、session和application一樣; 
在EL中,這四個隱含對象只能用來取得範圍屬性值,即getAttribute(String name),卻不能取得其他相關信息。  
例如:我們要取得session中儲存一個屬性username的值,可以利用下列方法:     session.getAttribute("username") 取得username的值, 在EL中則使用下列方法     ${sessionScope.username}
5.與輸入有關的隱含對象 
與輸入有關的隱含對象有兩個:param和paramValues,它們是EL中比較特別的隱含對象。  
例如我們要取得用戶的請求參數時,可以利用下列方法:     
request.getParameter(String name)     request.getParameterValues(String name) 
在EL中則可以使用param和paramValues兩者來取得數據。     ${param.name}     ${paramValues.name} 
6、EL函數(functions)。 
語法:ns:function( arg1, arg2, arg3 …. argN) 
其中ns爲前置名稱(prefix),它必須和taglib 指令的前置名稱一置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章