1)靜態文本,包含EL表達式,其值在運行時計算出來,EL表達式被該值替換。
2)標準標簽和自定義標簽,以幫助顯示網頁上的動態內容。
3)讀取JavaBean的值,使用EL表達式可以簡潔地讀出JavaBean的屬性值。
4)實例:包括book.java與readBook.jsp
book.java的代碼如下:




























1)“.”與[ ]運算符,兩者是等價的,${books.name}與${books["name"]}的作用一樣。
2)EL變量可以引用存儲在標準范圍中的屬性,默認的搜索順序是page、request、session和application。如果需要,可以使用toString()方法將變量的返回值轉換成為字符串;如果找不到變量,則返回null值。字符串可以用單引號也可以用雙引號括起來,可以使用轉義字符。
3)EL保留字:
運算符 | 描述 | 運算符 | 描述 | 運算符 | 描述 | 運算符 | 描述 | 運算符 | 描述 |
and | 與 | eq | 等于 | gt | 大于 | false | False | div | 相除 |
or | 或 | ne | 不等于 | ge | 大于 等于 | null | Null | mod | 取模 |
not | 非 | le | 小于等于 | true | True | empty | 清空 |
下表中列出了 11 個 EL 隱式對象的標識符。不要將這些對象與 JSP 隱式對象(一共只有九個)混淆,其中只有一個對象是它們所共有的。
類別 | 標識符 | 描述 |
JSP | pageContext |
PageContext 實例對應于當前頁面的處理 |
作用域 | pageScope |
與頁面作用域屬性的名稱和值相關聯的 Map 類 |
requestScope |
與請求作用域屬性的名稱和值相關聯的 Map 類 |
|
sessionScope |
與會話作用域屬性的名稱和值相關聯的 Map 類 |
|
applicationScope |
與應用程序作用域屬性的名稱和值相關聯的 Map 類 |
|
請求參數 | param |
按名稱存儲請求參數的主要值的 Map 類 |
paramValues |
將請求參數的所有值作為 String 數組存儲的 Map 類 |
|
請求頭 | header |
按名稱存儲請求頭主要值的 Map 類 |
headerValues |
將請求頭的所有值作為 String 數組存儲的 Map 類 |
|
Cookie | cookie |
按名稱存儲請求附帶的 cookie 的 Map 類 |
初始化參數 | initParam |
按名稱存儲 Web 應用程序上下文初始化參數的 Map 類 |
盡管 JSP 和 EL 隱式對象中只有一個公共對象(pageContext
),但通過 EL 也可以訪問其它 JSP 隱式對象。原因是 pageContext
擁有訪問所有其它八個 JSP 隱式對象的特性。實際上,這是將它包括在 EL 隱式對象中的主要理由。
其余所有 EL 隱式對象都是映射,可以用來查找對應于名稱的對象。前四個映射表示先前討論的各種屬性作用域。可以用它們來查找特定作用域中的標識符,而不用依賴于 EL 在缺省情況下使用的順序查找過程。
接下來的四個映射用來獲取請求參數和請求頭的值。因為 HTTP 協議允許請求參數和請求頭具有多個值,所以它們各有一對映射。每對中的第一個映射返回請求參數或頭的主要值,通常是恰巧在實際請求中首先指定的那個值。每對中第二個映射允許檢索參數或頭的所有值。這些映射中的鍵是參數或頭的名稱,但這些值是 String
對象的數組,其中的每個元素都是單一參數值或頭值。
cookie 隱式對象提供了對由請求設置的 cookie 名稱的訪問。這個對象將所有與請求相關聯的 cookie 名稱映射到表示那些 cookie 特性的 Cookie
對象。
最后一個 EL 隱式對象 initParam
是一個映射,它儲存與 Web 應用程序相關聯的所有上下文的初始化參數的名稱和值。初始化參數是通過 web.xml
部署描述符文件指定的,該文件位于應用程序的 WEB-INF
目錄中。
Book.java的代碼如下:












































以下是EL運算符列表,其中empty可以檢查某個值是否為空
|
說明 | 運算符 | 說明 |
+ |
加 |
> 或 gt | 大于 |
- |
減 |
<= 或 le | 小于等于 |
* |
乘 |
>= 或 ge | 大于等于 |
/ 或 div |
除 |
&& 或 and | 邏輯與 |
% 或 mod |
模(求余) |
|| 或 or | 邏輯或 |
== 或 = |
等于 |
! 或 not | 邏輯非 |
!= 或 != |
不等于 |
empty | 檢查是否為空值 |
< 或 lt |
小于 |
a ? b : c | 條件運算符 |































































對于一個單個JSP頁面,你可以使用定義page指令來設置jsp頁面是否支持EL。默認是支持EL(如果要頁面不支持EL,請設置為isELIgnored=true;禁用為false。

對于整個JSP應用程序,要修改WEB.XML配置(tomcat6默認是支持EL的,不用進行修改。);
<jsp-property-group>
<description> For config the ICW sample application </description>
<display-name>JSPConfiguration</display-name>
<url-pattern>/jsp/datareset.jsp</url-pattern>
<el-ignored>true< /
<page-encoding>ISO-8859-1</page-encoding>
<scripting-invalid>true</scripting-invalid>
<include-prelude>/jsp/prelude.jspf</include-prelude>
<include-coda>/jsp/coda.jspf</include-coda>
</jsp-property-group>