一、簡(jiǎn)介
?EL(Expression Language)表達(dá)式語(yǔ)言是在JSP2.0版本中引入的新特性,它用于JSP文件中的數(shù)據(jù)訪(fǎng)問(wèn)。這種表達(dá)式語(yǔ)言能簡(jiǎn)化JSP文件中數(shù)據(jù)訪(fǎng)問(wèn)的代碼,可用來(lái)代替?zhèn)鹘y(tǒng)的基于”<%=”和”%>”形式的Java表達(dá)式,以及部分基于“<%“ heels ”%>“形式的Java程序片段。
二、作用
1、獲取數(shù)據(jù)
? ?EL表達(dá)式主要用于替換JSP頁(yè)面中的腳本表達(dá)式,以從各種類(lèi)型的web域 中檢索java對(duì)象、獲取數(shù)據(jù)。(某個(gè)web域中的對(duì)象,訪(fǎng)問(wèn)javabean的屬性、訪(fǎng)問(wèn)list集合、訪(fǎng)問(wèn)map集合、訪(fǎng)問(wèn)數(shù)組)
語(yǔ)法:${標(biāo)識(shí)符}
? EL表達(dá)式語(yǔ)句在執(zhí)行時(shí),會(huì)調(diào)用pageContext.findAttribute方法,用標(biāo)識(shí)符為關(guān)鍵字,分別從page、request、session、application四個(gè)域中查找相應(yīng)的對(duì)象,找到則返回相應(yīng)對(duì)象,找不到則返回”” (注意,不是null,而是空字符串)。





2、執(zhí)行運(yùn)算
? ?利用EL表達(dá)式可以在JSP頁(yè)面中執(zhí)行一些基本的關(guān)系運(yùn)算、邏輯運(yùn)算和算術(shù)運(yùn)算,以在JSP頁(yè)面中完成一些簡(jiǎn)單的邏輯運(yùn)算。${user==null}
語(yǔ)法:${運(yùn)算表達(dá)式}
EL表達(dá)式支持關(guān)系運(yùn)算符、邏輯運(yùn)算符、empty運(yùn)算符、二元表達(dá)式、[ ] 和 .?號(hào)運(yùn)算符

3、獲取web開(kāi)發(fā)常用對(duì)象
? ?EL 表達(dá)式定義了一些隱式對(duì)象,利用這些隱式對(duì)象,web開(kāi)發(fā)人員可以很輕松獲得對(duì)web常用對(duì)象的引用,從而獲得這些對(duì)象中的數(shù)據(jù)。
? ?EL表達(dá)式語(yǔ)言中定義了11個(gè)隱含對(duì)象,使用這些隱含對(duì)象可以很方便地獲取web開(kāi)發(fā)中的一些常見(jiàn)對(duì)象,并讀取這些對(duì)象的數(shù)據(jù)。
語(yǔ)法:${隱式對(duì)象名稱(chēng)}:獲得對(duì)象的引用

4、調(diào)用Java方法
? EL表達(dá)式允許用戶(hù)開(kāi)發(fā)自定義EL函數(shù),以在JSP頁(yè)面中通過(guò)EL表達(dá)式調(diào)用Java類(lèi)的方法。
?EL表達(dá)式語(yǔ)法允許開(kāi)發(fā)人員開(kāi)發(fā)自定義函數(shù),以調(diào)用Java類(lèi)的方法。
?語(yǔ)法:${prefix:method(params)}
在EL表達(dá)式中調(diào)用的只能是Java類(lèi)的靜態(tài)方法,這個(gè)Java類(lèi)的靜態(tài)方法需要在TLD文件中描述,才可以被EL表達(dá)式調(diào)用。
EL自定義函數(shù)用于擴(kuò)展EL表達(dá)式的功能,可以讓EL表達(dá)式完成普通Java程序代碼所能完成的功能。