EL表達式
一個EL表達式包含變量和操作符。任何存儲在某個JSP作用范圍(如:page、 request、session、application)的bean能被作為一個EL變量來使用。另外,EL支持以下預定義的變量:
變量名稱
|
說明
|
pageScope
|
一個包含所有page scope范圍的變量集合 (a java.util.Map)
|
requestScope
|
一個包含所有request scope范圍的變量集合 (a java.util.Map)
|
sessionScope
|
一個包含所有session scope范圍的變量集合 (a java.util.Map)
|
applicationScope
|
一個包含所有application scope范圍的變量集合 (a java.util.Map)
|
param
|
一個包含所有請求參數(shù)的集合 (a java.util.Map),通過每個參數(shù)對應一個String值的方式賦值
|
paramValues
|
一個包含所有請求參數(shù)的集合 (a java.util.Map),通過每個參數(shù)對應一個String數(shù)組的方式賦值
|
header
|
一個包含所有請求的頭信息的集合, (a java.util.Map) ,通過每個頭信息對應一個String值的方式賦值
|
headerValues
|
一個包含所有請求的頭信息的集合 (a java.util.Map) ,通過每個頭信息的值都保存在一個String數(shù)組的方式賦值
|
cookie
|
一個包含所有請求的 cookie集合 (a java.util.Map), 通過每一個cookie(javax.servlet.http.Cookie)對應一個cookie值的方式賦值
|
initParam
|
一個包含所有應用程序初始化參數(shù)的集合(a java.util.Map) ,通過每個參數(shù)分別對應一個String值的方式賦值
|
pageContext
|
一個javax.servlet.jsp.PageContext類的實例, 用來提供訪問不同的請求數(shù)據(jù)
|
操作符描述了你對變量所期望的操作。如果你之前曾經(jīng)使用過任何編程語言的話,在EL表達式中所使用的操作符對你來說可能看起來很熟悉。因為它們和那些在大多數(shù)語言中所支持的操作符一樣。
Operator
|
Description
|
.
|
訪問一個bean屬性或者 Map entry
|
[]
|
訪問一個數(shù)組或者鏈表元素
|
()
|
對子表達式分組,用來改變賦值順序
|
? :
|
條件語句,比如: 條件 ? ifTrue : ifFalse.如果條件為真,表達式值為前者,反之為后者
|
+
|
數(shù)學運算符,加操作
|
-
|
數(shù)學運算符,減操作或者對一個值取反
|
*
|
數(shù)學運算符,乘操作
|
/ or div
|
數(shù)學運算符,除操作
|
% or mod
|
數(shù)學運算符,模操作(取余)
|
== or eq
|
邏輯運算符,判斷符號左右兩端是否相等,如果相等返回true,否則返回false
|
!= or ne
|
邏輯運算符,判斷符號左右兩端是否不相等,如果不相等返回true,否則返回false
|
< or lt
|
邏輯運算符,判斷符號左邊是否小于右邊,如果小于返回true,否則返回false
|
> or gt
|
邏輯運算符,判斷符號左邊是否大于右邊,如果大于返回true,否則返回false
|
<= or le
|
邏輯運算符,判斷符號左邊是否小于或者等于右邊,如果小于或者等于返回true,否則返回false
|
>= or ge
|
邏輯運算符,判斷符號左邊是否大于或者等于右邊,如果大于或者等于返回true,否則返回false
|
&& or and
|
邏輯運算符,與操作賦。如果左右兩邊同為true返回true,否則返回false
|
|| or or
|
邏輯運算符,或操作賦。如果左右兩邊有任何一邊為true返回true,否則返回false
|
! or not
|
邏輯運算符,非操作賦。如果對true取運算返回false,否則返回true
|
empty
|
用來對一個空變量值進行判斷: null、一個空String、空數(shù)組、 空Map、沒有條目的Collection集合
|
func(args)
|
調用方法, func是方法名,args是參數(shù),可以沒有,或者有一個、多個參數(shù).參數(shù)間用逗號隔開
|
一個EL表達式可以包含:數(shù)字、文本(在單引號或者雙引號之間)、布爾值、null值。
因為一個EL表達式可以出現(xiàn)在靜態(tài)文本出現(xiàn)的地方,因此你必須告訴JSP容器它應該被當作一個EL表達式來處理。你可以通過使用定界符來做到這一點。一個EL表達式總是以”${ }”來標記(一個“$”符號和一個左花括號,右花括號)。