EL表達式取值和運算


參考:
(1)、${pageContext} 獲取到 pageContext 對象,它不是在四個域里面去找,而是先在自己定義的對象中找,如果找到了就取出來。
(2)、${pageScope} 得到的是 page 域 (pageContext) 中保存數據的 Map集合。也就是指定在 page 域中查找。
(3)、${requestScope}、${sessionScope}、${applicationScope} 和上面的 pageScope 一樣,都是在特定的域中檢索數據。
(4)、${param} 獲取存在 request 中請求參數的 Map,常用在數據回顯上。
(5)、${paramValues} 獲取存在 request 中請求參數名相同的值的 String[] 數組。
(8)、${header} 獲取 HTTP 請求頭的 Map 對象。
(9)、${headValues} 獲取 HTTP 請求頭值的 Map 對象
(10)、${cookie} 獲取所有 cookie 的 Map 對象
(11)、${initParam} 獲取保存所有 Web 應用初始化參數的 Map 對象

 

${你要取得值}
他默認會從page,request,session,application這四個域中查找
他實際是調用pageContext.findAttribute("");查找的

 

在jsp頁面中不能通過${list.size}取列表長度,而是 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> 

List長度是:${fn:length(list)}

 

在EL表達式中我們可以使用運算符以達到我們想要的結果,運算符按作用分為以下幾種:

1.算術運算符

+  例如:${6+6} 。注意:在EL表達式中的‘+’只有數學運算的功能,沒有連接符的功能,它會試着把運算符兩邊的操作數轉換為數值類型,進而進行數學加法運算,最后把結果輸出。若出現${'a'+'b'}則會出現異常。

- 例如:${4-3} 

* 例如:${4*3} 

/ 例如:${9/3}

 

2.關系運算符

> 或者 gt, 例如:${8>9}  或者 ${8 gt 9 }

>= 或者 ge, 例如:${45>=9} 或者 ${45 ge 9 }

< 或者 lt, 例如:${4<9} 或者 ${4 lt 9 }

<= 或者 le, 例如:${9<=8} 或者 ${9 le 8 }

== 或者 eq, 例如:${4==4} 或者 ${4 eq 4 }

!= 或者 ne, 例如:${4!=3} 或者 ${4 ne 3 }

 

3.邏輯運算符

&& 或者 and, 例如:${false && false} 或者 ${false and false }

|| 或者 or, 例如:${true || false} 或者 ${true or false }

! 或者 not,例如:${!true}(相當於${false}) 或者 ${not true }

 

4.三元運算符

? : 例如:${3>2?'是':'不是'}

 

5.特殊運算符

empty 判斷EL表達式中的表達式是否為空,例如:${empty sessionScope.user} 

not empty 判斷EL表達是中的表達式不為空,例如:${not empty sessionScope.user} 

"." 是我們最常用的,作用相當於執行Bean中的get方法。 例如:${sessionScope.user.userName}意思是:在會話中得到名稱為user的Bean對象,通過“.”運算符執行getUserName();方法,返回存放在Bean中的用戶名屬性的值。 [] 作用和“.”運算符的一樣,只不過[]運算符可以執行一些不規則的標識符。 例如:${requestScope.user["score-math"]},這個表達式中有不規則的標識符,是不能使用“.”來訪問的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM