在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}
"." 是我們最常用的,作用相當於執行Bean中的get方法。 例如:${sessionScope.user.userName}意思是:在會話中得到名稱為user的Bean對象,通過“.”運算符執行getUserName();方法,返回存放在Bean中的用戶名屬性的值。 [] 作用和“.”運算符的一樣,只不過[]運算符可以執行一些不規則的標識符。 例如:${requestScope.user["score-math"]},這個表達式中有不規則的標識符,是不能使用“.”來訪問的。
el表達式一般不直接用==判斷是否相等 != > < >= <=之類的表示不等於 大於 小於 大於等於 小於等於,而是使用字母表示的表達式,他們的表示如下: == eq 等於 != ne 不等於 > gt 大於 < lt 小於 >= ge 大於等於 <= le 小於等於 字符串比較: 不需要雙引號“” user.name eq '001' user.name eq Lily
el表達式獲得集合的長度:
list的長度是:${fn:length(list)}
c:forEach迭代時比較當前的元素是否是最后一個:
<c:if test="${fn:length(list) ne status.index+1}">
<div>hello</div>
</c:if>
El表達式判斷是否為空字符串
${empty 值} 返回true ,表示為空字符串;
<c:if test=" ${empty chapterlist} ">
<td>青蛙,是個笨蛋!!!</td>
</c:if>
El表達式判斷是否為空
${值 eq null } 返回true 的話,表示為空
<c:if test="${chapterlist eq null }">
<td>青蛙,是個笨蛋!!!</td>
</c:if>