web基礎-EL表達式

簡介

EL(expression Language)表達式讓jsp書寫起來更加方便,簡化在jsp獲取作用域或者請求數據的寫法,也會搭配jstl使用。

jsp頁面獲取數據的方式

傳統法式:在jsp頁面中使用java的腳本語段<%%>
缺點:jsp頁面需要導包,獲取到對象類型數據時需要進行強轉,獲取數據的代碼比較麻煩。

EL表達式:獲取 作用域(request,session,pageContext,application)中的數據若找到數據則獲取返回,否則無任何效果不報錯,不能獲取jsp頁面簡單的變量

使用方法

語法結構:${expression},提供.和[ ]兩種運算符來存儲數據

作用

a).使用EL表達式獲取請求數據
i. 獲取用戶請求數據
ii. 獲取請求頭數據
iii. 獲取cookie數據

b).使用EL表達式獲取作用域數據
i. 獲取作用域數據
ii. 作用域查找順序
iii. 指定作用域中的數據

c).使用EL表達式進行運算
i. 算數運算
ii. 關係運算
iii. 邏輯運算

d).使用EL表達式空值判斷empty

EL表達式

1.獲取請求數據 request.getParameter("uname") <=> ${param.uname} 

2.獲取Str request.getAttribute("uname") <=>	${uname} 

3.獲取對象 (User)request.getAttribute("u").getUname() <=>	${u.uname}

4.獲取list列表對象 (ArrayList)request.getAttribute("userList").get(1).getUname <=> ${userLIst[1].uname}

EL作用域查找順序

默認查找順序:pageContext–>request–>session–>application 適用於當多個作用域中有相同的鍵名

自定義查找順序表達方法:${作用域名Scope.鍵名} 例${requestScope.uname}
注意:pageContext簡寫爲page

EL的邏輯運算

  1. 邏輯運算:${邏輯表達式} && || !
  2. 算數運算:${算數運算} + - * /
  3. 關係運算表達式:${關係運算表達式} > < >= <= == != %
  4. 特殊:三目運算 ${sex==1?‘男’:‘女’}
  5. 注意不可以使用"+"連接字符串,實用的話會報錯

EL的空值判斷

${empty 鍵名} 判斷鍵名中是否存在數據

EL獲取請求頭數據和cookie數據

請求頭數據
  1. ${header} --> 獲取所有請求頭數據
  2. ${header[“鍵名”]} --> 獲取指定鍵名請求頭數據
  3. ${headerValues[“鍵名”]} --> 獲取同鍵不同值得數組
請求頭數據
  1. ${cookie} --> 返回所有cookie對象的map集合
  2. ${cookie.鍵名} --> 返回指定的cookie對象
  3. ${cookie.鍵名.name} --> 返回指定的cookie對象存儲數據的鍵名
  4. ${cookie.鍵名.value} --> 返回指定的cookie對象存儲數據的值
    學習過程中的積累,有任何問題歡迎指教!
發佈了31 篇原創文章 · 獲贊 3 · 訪問量 800
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章