雷林鵬分享 jsp 表示式語言

2022-09-17 08:39:16 字數 2515 閱讀 6972

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...