EL表示式中關於四個作用域物件的注意事項!
主要說明獲取作用域資料獲取這方面的注意事項!
傳統方式獲取作用域資料缺點:
- 需要匯入java包
- 需要將型別強制轉換
- 書寫麻煩容易出現問題
使用EL表示式就可以完美解決傳統方式的缺點:
作用:獲取四個作用物件中的資料,其他宣告的變數不予理會,只獲取下邊四個作用域中的資料.
四個作用域分別是:1.pageContext 變數只在定義的頁面上有效.
2.request
3.session 變數在整個會話過程中有效,可以跨越多個頁面.
4.application 由於在伺服器端,所以這個
語法:${鍵名}返回key對應的value {}中可以使鍵名也可以進行邏輯運算 判斷空值 獲取請求頭資料和cookie資料!
資料中儲存的如果是普通的字串,則直接返回.
如果儲存的是物件,則返回物件.
普通物件:${k.屬性名.屬性名}
集合物件:list集合:${k.[index]} //list中用[]獲取資料,其實是以陣列的方式儲存資料
map集合:${k.map鍵名}//map中用.key鍵名獲取資料
作用域資料中查詢順序:(為了解決出現key名相同,value不同.)
pageContext(第一)-->request(第二)-->session(倒數第二)-->application(倒數第一)
為什麼pageContext是第一個被查詢的:其實也很容易理解,因為他的作用域是最小的一個,按照排序作用範圍依次變大!.(預設查詢優先順序比較高).注意:當資料找到時候就會停止尋找.
指定查詢:
${pageScope.鍵名}---${requestScope.鍵名}--${sessionScope.鍵名}--${applicationScope.鍵名}