Day10_23——EL表達式

EL表達式

1.EL是jsp內(nèi)置的表達式語言

  • jsp2.0開始笨篷,不讓再使用java腳本,而是使用EL表達式和動態(tài)標簽來代替java腳本

  • EL替代的式<%= ...... %>丹拯,也就是說EL只能做輸出

2.EL表達式來讀取四大域

  • ${xxx},全域查找名為xxx的屬性,如果不存在,輸出空字符串球凰,而不是null

  • {pageScope.xxx}、{requestScope.xxx}腿宰、{sessionScope.xxx}、{applicationScope.xxx}缘厢,指定域獲取屬性

3.JavaBean導航

<%@page import="Demo_01."* %>

  <body>

<%

arr a = **new** arr();

a.setS("XXX");

Person p = **new** Person();

p.setAge(22);

p.setName("李四");

p.setArr(a);

request.setAttribute("per", p);

%>

<h2>使用el獲取request域的值</h2>

${requestScope.per.arr.s}<!-- request.getAttribute("per").getArr().getS() -->

  </body>

4.EL的11個內(nèi)置對象

EL可以輸出的東西都在11個內(nèi)置對象中吃度,其中有10個事Map類型,pageContext不是Map贴硫,它就是PageContext類型椿每。

  • param:對應(yīng)參數(shù),key為參數(shù)名英遭,value為參數(shù)值间护,適用于單值的參數(shù)。

  • paranValues:對應(yīng)參數(shù)挖诸,key為參數(shù)名汁尺,value為多個參數(shù)值,適用于多值的參數(shù)多律。

  • header:對應(yīng)請求頭痴突,key為頭名稱,value為頭值狼荞,適用于單值請求頭辽装。

  • headerValues:對應(yīng)請求頭,key為頭名稱相味,value為多個頭值拾积,適用于多值請求頭。

  • initParam:獲取<context-param>內(nèi)的參數(shù)

  • cookie:Map<String,Cookie>類型丰涉,其中key事cookie的name拓巧,value事cookie對象。

${cookie.uesrname.value}

  • pageContext:它事PageContext類型一死,${pageContext.request.contextPath}(項目名-以后的表單還要超鏈接都以它開頭)

5.El的函數(shù)庫(由JSTL提供)

EL.jpg

寫法:${fn:length(xxx)}

6.自定義函數(shù)類

  • 寫一個java類玲销,類中可以定義0~N個方法,但必須事static摘符,而且有返回值

  • 在WEB-INF目錄下創(chuàng)建一個tld文件贤斜,要在jstl.jar中復制開頭和結(jié)尾策吠,并且在Java文件中有幾個方法,就要在tld文件中寫幾個function瘩绒。

<function>

<description> // 方法說明(可不寫)

  Tests if an input string contains the specified substring in a case insensitive way.

</description>

<name>fun</name> // 方法名(自己起名字)

<function-class>cn.itcast.MyFunction</function-class>

/ / Java文件的位置

<function-signature>java.lang.String fun()</function-signature>

// 對應(yīng)的方法

<example> // 例子(可不寫)

  <c:if test="${fn:containsIgnoreCase(name, searchString)}">

</example>

</function>

  • 在jsp頁面導入標簽庫

<%@ taglib prefix=”xx” uri=”/WEB-INF/tlds/Xxx.tld” %>

  • 在jsp頁面使用自定義函數(shù):${xx:fun() }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末猴抹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子锁荔,更是在濱河造成了極大的恐慌蟀给,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阳堕,死亡現(xiàn)場離奇詭異跋理,居然都是意外死亡,警方通過查閱死者的電腦和手機恬总,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門前普,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人壹堰,你說我怎么就攤上這事拭卿。” “怎么了贱纠?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵峻厚,是天一觀的道長。 經(jīng)常有香客問我谆焊,道長惠桃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任辖试,我火速辦了婚禮刽射,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘剃执。我一直安慰自己誓禁,他們只是感情好,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布肾档。 她就那樣靜靜地躺著摹恰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怒见。 梳的紋絲不亂的頭發(fā)上俗慈,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音遣耍,去河邊找鬼闺阱。 笑死,一個胖子當著我的面吹牛舵变,可吹牛的內(nèi)容都是我干的酣溃。 我是一名探鬼主播瘦穆,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赊豌!你這毒婦竟也來了扛或?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤碘饼,失蹤者是張志新(化名)和其女友劉穎熙兔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體艾恼,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡住涉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了钠绍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舆声。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖五慈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情主穗,我是刑警寧澤泻拦,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站忽媒,受9級特大地震影響争拐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晦雨,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一架曹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闹瞧,春花似錦绑雄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洽腺,卻和暖如春脚粟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蘸朋。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工核无, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人藕坯。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓团南,卻偏偏與公主長得像噪沙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子已慢,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355