EL表達式和JSTL標簽庫

一、EL表達式

1.EL表達式的語法:

${表達式}

注意:

自帶響應功能

2.EL表達式的使用:

1.EL表達式獲取請求數據

獲取用戶請求數據(請求實體)

${param.鍵名} 獲取請求實體中一個鍵一個值的數據

${paramValues.鍵名} 獲取請求實體中同鍵不同值的數據,返回的是String數組,可以使用角標直接獲取

2.獲取請求頭數據

${header}? 返回所有請求的數據,鍵值對形式

${header["鍵名"]} 返回指定的鍵的請求數據

${headerValues["鍵名"]}

? ? 3.獲取Cookie數據

${Cookie}? 獲取所有的Cookie鍵值對 對象

${Cookie.Cookie對象的鍵名} 獲取存儲了指定Cookie數據的Cookie對象

${Cookie.Cookie對象的鍵名.name} 獲取存儲了指定Cookie數據的Cookie對象的存儲的鍵

${Cookie.Cookie對象的鍵名.value} 獲取存儲了指定Cookie數據的Cookie對象的存儲的值

3.EL表達式獲取作用域數據

1.作用域對象: pageContext request session application

2.作用域數據:我們使用setAttribute方法存儲的數據

3.獲取:

? 普通的字符串數據:${鍵名}

對象數據:${鍵名.屬性名}

集合數據:

list集合${鍵名[角標]}

Map集合${map集合作用域存儲的鍵名.map集合存儲的數據的鍵名}

4.作用域查找順序,

page

request

session

application

如果找到了則不再查找,如果找不到,則繼續查找下一個作用域,如果四個都沒有找到則什么都不表示

5.指定作用域的獲取

${pageScope.鍵名}? 指定了獲取pageContext作用域中的數據

${requestScope.鍵名}? 指定了獲取requestContext作用域中的數據

${sessionScope.鍵名}? 指定了獲取sessionContext作用域中的數據

${applicationScope.鍵名}? 指定了獲取applicationContext作用域中的數據

4.EL表達式邏輯運算

1.算術運算:

+,-,*,/在EL表達式中可以直接進行算術運算

${算術表達式} 例如:${1+2}

注意:+表示算術運算,不能進行字符串連接

2.邏輯運算:&&? ! ||

${邏輯表達式}

3.比較運算:==? != >? >=? <? <=

${比較表達式}

4.三目運算

${條件?值:值}

5.EL表達式的empty判斷

${empty 鍵名}

作用:

判斷該鍵是否有存儲有效數據

二、JSTL標簽庫

1、JSTL學習

作用:

在jsp頁面使用其可以非常方便的進行數據的處理。較與使用java代碼塊方法,更加簡單,代碼更加的簡潔易讀。

使用:

核心標簽庫

流程:

導入jar包

引入標簽庫

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

內容:

基本標簽

out標簽:

<c:out value="${表達式}" default="默認值"></c:out>

作用:結合EL表達式將數據響應給瀏覽器 ,如果EL表達式沒有收到數據則可以使用dafault屬性聲明默認值。

set標簽:

<c:set value ="數據" var="鍵名" scope="作用域名"></c:set>

作用:將數據存儲到指定的作用域中,默認是pageContext作用域

注意:

scope的值為 pag request session application

remove標簽:

<c:remove var="要刪除的鍵名" scope="作用域名"></c:remove>

作用:刪除作用域中的數據,默認是刪除四個作用域中符合要求的數據

注意:

使用pageContext.removeAttriute("鍵名"), 此方法會將四個作用域中的符合要求的數據全部刪除

使用pageContext.removeAttriute(String name,int scope)

指明要刪除的作用域中的數據 scope的值為 1pageContext,2request ,3 session,4 application

使用request.removeAttibute("鍵名") 刪除當前作用域符合要求的數據

使用session.removeAttibute("鍵名") ? 刪除當前作用域符合要求的數據

使用application.removeAttibute("鍵名") 刪除當前作用域符合要求的數據

邏輯標簽:

單分支判斷標簽:<c:if test="${表達式}"數據></c:if>

作用:可以根據EL表達式進行一定程度的單分支邏輯判斷式。

注意:

test屬性中書寫的是EL表達式,或者說是EL表達式的邏輯表達式。

該標簽只能進行EL表達式相關的邏輯判斷。不能進行EL表達式不能獲取的數據的邏輯處理

<c:set var="a" value="12"></c:set>

<c:if test="${a>8}">

<b>今天天氣真好,適合學習2</b>

</c:if>

該標簽只能進行EL表達式相關的邏輯判斷。不能進行EL表達式不能獲取的數據的邏輯處理

多分支判斷標簽:

<c:choose>

<c:when test="${表達式}"></c:when>

<c:when test="${表達式}"></c:when>

..

<c:otherwise></c:otherwise>

</c:choose>

注意:

符合條件后只會執行一個分支,其他分支不會執行。

循環標簽:

<c:foreach>

循環體

</c:foreach>

屬性:

begin:聲明循環的開始位置

end:聲明循環的結束位置

step:聲明循環的步長

varStatus:聲明變量記錄循環狀態 ,例如變量名:i

注意:記錄的數據存儲到了作用域中可以直接使用El表達式進行獲取

示例:? ${i.index}? 獲取當次循環的下標

? ${i.count}? 獲取當次循環的次數

? ${i.first}? 判斷是否是第一次循環

? ${i.last} ? ? 判斷是否是最后一次循環

items:聲明要遍歷的數據,可以是集合和數組等

注意:要使用EL表達式來獲取

var:聲明變量記錄每次遍歷的結果。可以做循環體中使用EL表達式獲取遍歷出來的數據

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,001評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,786評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,986評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,204評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,964評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,354評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,410評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,554評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,106評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,918評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,093評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,648評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,342評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,755評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,009評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,839評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,107評論 2 375

推薦閱讀更多精彩內容