EL表達式中還有許多操作符可以幫助完成各種所需的操作,之前的示例中“.”、“[]”就是其中的兩個,下面將用表9.1來展示所有操作符及它們各自的功能。
表 9.1 EL 表達式的操作符
操作符 |
功能和作用 |
. |
訪問一個 bean 屬性或者 Map entry |
[] |
訪問一個數組或者鏈表元素 |
() |
對子表達式分組,用來改變賦值順序 |
? : |
條件語句,比如:條件 ?ifTrue:ifFalse 如果條件爲真,表達式值爲前者,反之爲後者 |
+ |
數學運算符,加操作 |
- |
數學運算符,減操作或者對一個值取反 |
* |
數學運算符,乘操作 |
/ 或 div |
數學運算符,除操作 |
% 或 mod |
數學運算符,模操作 ( 取餘 ) |
== 或 eq |
邏輯運算符,判斷符號左右兩端是否相等,如果相等返回 true ,否則返回 false |
!= 或 ne |
邏輯運算符,判斷符號左右兩端是否不相等,如果不相等返回 true ,否則返回 false |
< 或 lt |
邏輯運算符,判斷符號左邊是否小於右邊,如果小於返回 true ,否則返回 false |
> 或 gt |
邏輯運算符,判斷符號左邊是否大於右邊,如果大於返回 true ,否則返回 false |
<= 或 le |
邏輯運算符,判斷符號左邊是否小於或者等於右邊,如果小於或者等於返回 true ,否則返回 false |
>= 或 ge |
邏輯運算符,判斷符號左邊是否大於或者等於右邊,如果大於或者等於返回 true ,否則返回 false |
&& 或 and |
邏輯運算符,與操作賦。如果左右兩邊同爲 true 返回 true ,否則返回 false |
|| 或 or |
邏輯運算符,或操作賦。如果左右兩邊有任何一邊爲 true 返回 true ,否則返回 false |
! 或 not |
邏輯運算符,非操作賦。如果對 true 取運算返回 false ,否則返回 true |
empty |
用來對一個空變量值進行判斷 : null 、一個空 String 、空數組、 空 Map 、沒有條目的 Collection 集合 |
func(args) |
調用方法 , func 是方法名, args 是參數,可以沒有,或者有一個、多個參數 . 參數間用逗號隔開 |
這些操作符都是極其有用的,下面通過幾個示例來演示它們的使用方法:
例 4 :幾組操作符的示例
${pageScope.sampleValue + 12} <br> // 顯示 12
${(pageScope.sampleValue + 12)/3} <br> // 顯示 4.0
${(pageScope.sampleValue + 12) /3==4} <br> // 顯示 true
${(pageScope.sampleValue + 12) /3>=5} <br> // 顯示 false
<input type="text" name="sample1" value="${pageScope.sampleValue + 10}"> // 顯示值爲 10 的 Text 控件
可以看到,對於這些示例,程序設計者完全無需管理它們的類型轉換,在表達式內部都已經處理了。有了 EL 表達式,在 JSP 頁面的編程變得更靈活,也更容易。