jsp表示式語言(el)使得訪問儲存在j**abean中的資料變得非常簡單。jsp el既可以用來建立算術表示式也可以用來建立邏輯表示式。在jsp el表示式內可以使用整型數,浮點數,字串,常量true、false,還有null。
乙個簡單的語法
典型的,當您需要在jsp標籤中指定乙個屬性值時,只需要簡單地使用字串即可:
jsp el允許您指定乙個表示式來表示屬性值。乙個簡單的表示式語法如下:
$其中,expr指的是表示式。在jsp el中通用的操作符是"."和""。這兩個操作符允許您通過內嵌的jsp物件訪問各種各樣的j**abean屬性。
舉例來說,上面的標籤可以使用表示式語言改寫成如下形式:
value="$"/>
當jsp編譯器在屬性中見到"${}"格式後,它會產生**來計算這個表示式,並且產生乙個替代品來代替表示式的值。
您也可以在標籤的模板文字中使用表示式語言。比如標籤簡單地將其主體中的文字插入到jsp輸出中:
現在,在標籤主體中使用表示式,就像這樣:
box perimeter is: $
在el表示式中可以使用圓括號來組織子表示式。比如$等於9,但是$ 等於7。
想要停用對el表示式的評估的話,需要使用page指令將iselignored屬性值設為true:
這樣,el表示式就會被忽略。若設為false,則容器將會計算el表示式。
el中的基礎操作符
el表示式支援大部分j**a所提供的算術和邏輯操作符:
操作符描述
.訪問乙個bean屬性或者乙個對映條目
訪問乙個陣列或者鍊錶的元素
( )組織乙個子表示式以改變優先順序
+加-減或負
*乘/ or div除
% or mod取模
== or eq測試是否相等
!= or ne測試是否不等
< or lt測試是否小於
> or gt測試是否大於
<= or le測試是否小於等於
>= or ge測試是否大於等於
&& or and測試邏輯與
|| or or測試邏輯或
! or not測試取反
empty測試是否空值
jsp el中的函式
jsp el允許您在表示式中使用函式。這些函式必須被定義在自定義標籤庫中。函式的使用語法如下:
$ns指的是命名空間(namespace),func指的是函式的名稱,param1指的是第乙個引數,param2指的是第二個引數,以此類推。比如,有函式fn:length,在jstl庫中定義,可以像下面這樣來獲取乙個字串的長度:
$要使用任何標籤庫中的函式,您需要將這些庫安裝在伺服器中,然後使用標籤在jsp檔案中包含這些庫。
jsp el隱含物件
jsp el支援下表列出的隱含物件:
隱含物件描述
pagescopepage 作用域
requestscoperequest 作用域
sessionscopesession 作用域
paramrequest 物件的引數,字串
paramvaluesrequest物件的引數,字串集合
headerhttp 資訊頭,字串
headervalueshttp 資訊頭,字串集合
initparam上下文初始化引數
cookiecookie值
pagecontext當前頁面的pagecontext
您可以在表示式中使用這些物件,就像使用變數一樣。接下來會給出幾個例子來更好的理解這個概念。
pagecontext物件
pagecontext物件是jsp中pagecontext物件的引用。通過pagecontext物件,您可以訪問request物件。比如,訪問request物件傳入的查詢字串,就像這樣:
$scope物件
param和paramvalues物件
param和paramvalues物件用來訪問引數值,通過使用request.getparameter方法和request.getparametervalues方法。
舉例來說,訪問乙個名為order的引數,可以這樣使用表示式:$,或者$。
接下來的例子表明了如何訪問request中的username引數:
string title = "accessing request param";
$param物件返回單一的字串,而paramvalues物件則返回乙個字串陣列。
header和headervalues物件
header和headervalues物件用來訪問資訊頭,通過使用 request.getheader方法和request.getheaders方法。
舉例來說,要訪問乙個名為user-agent的資訊頭,可以這樣使用表示式:$,或者$。
接下來的例子表明了如何訪問user-agent資訊頭:
string title = "user agent example";
$執行結果如下:
雷林鵬分享 jsp 自動重新整理
想象一下,如果要直播比賽的比分,或 市場的實時狀態,或當前的外匯配給,該怎麼實現呢?顯然,要實現這種實時功能,您就不得不規律性地重新整理頁面。jsp提供了一種機制來使這種工作變得簡單,它能夠定時地自動重新整理頁面。重新整理乙個頁面最簡單的方式就是使用response物件的setintheader 方...
Jsp中EL表示式
jsp中el表示式 1 語法結構 2 與.運算子 el 提供 和 兩種運算子來訪問資料。當要訪問的屬性名稱中包含一些特殊字元,如.或?等並非字母或數字的符號,就一定要使用 例如 應當改為 如果要動態取值時,就可以用 來做,而 無法做到動態取值。例如 中data 是乙個變數 3 變數 el訪問變數資料...
Jsp之EL表示式
在jsp頁面使用el表示式,可以達到取內建物件值的效果 reqkey為request.setattribute reqkey,value 裡面的reqkey,鍵值,其他物件以此類推 在session作用域內查詢變數sessionkey,找不到則返回空null 作用域由小到大 session.seta...