EL表達式全名爲 Expression Language,常常與JSTL配合使用,使得JSP頁面更加直觀,寫法更簡單。web
用美圓符號 「$」定界,內容包含在花括號「{}」中數組
".」和「[]」:${param.name} 和 ${param["name"]} 是等價的,可是當要存取的屬性名稱中包含有一些特殊字符如 "." 或 "-" 等非字母或數字的符號 或者 在使用動態取值時,就必定要使用 "[]" 運算符瀏覽器
(1)與範圍有關的內置對象cookie
pageScope: 與頁面做用域屬性的名稱和值相關聯的MAP類session
requestScope:與請求做用域屬性的名稱和值相關聯的MAP類app
sessionScope:與會話做用域屬性的名稱和值相關聯的MAP類spa
applicationScope:與應用程序做用域屬性的名稱和值相關聯的MAP類server
(2)與輸入有關的內置對象xml
param :按名稱存儲請求參數的主要值的MAP類對象
paramValues :將請求參數的全部值做爲String數組存儲的MAP類
param 和 paramValues 用來獲取表單中提交的信息。前者返回 String 類型數據,後者返回 String[] 類型的數據。如 ${paramValues.name}。
(3)其餘隱含對象
Cookie:按名存儲請求附帶的cookie的MAP類
header :按名稱存儲請求頭主要值的MAP類
如:${header["UserAgent"]} 獲取瀏覽器的版本信息
headerValues :將請求頭的全部值做爲String 數組存儲的MAP類
initParam :按名稱存儲的Web 應用程序上下文初始化參數的MAP類
如:${initParam.DBDriver} 獲取web.xml中配置的相關參數
pageContext :PageContext實例對應於當前頁面的處理
${pageContext.request.queryString}取得請求的參數字符串
${pageContext.request.requestURL} 取得請求的URL,不包括參數字符串
${pageContext.request.contextPath} 服務的web application 的名稱
${pageContext.request.method} 取得HTTP 的方法(GET、POST)
${pageContext.request.protocol} 取得使用的協議(HTTP/1.一、HTTP/1.0)
${pageContext.request.remoteUser} 取得用戶名稱
${pageContext.request.remoteAddr} 取得用戶的IP 地址
${pageContext.session.new} 判斷session 是否爲新的
${pageContext.session.id} 取得session 的ID
${pageContext.servletContext.serverInfo} 取得主機端的服務信息
注意:基本與JSP的九大內置對象相對應請參考編寫
運算 | 符號 | 字母表示 | 含義 |
---|---|---|---|
算術運算符 | + | 執行加法操做 | |
- | 執行減法操做 | ||
* | 執行乘法操做 | ||
/ | div | 執行除法操做 | |
% | mod | 執行取模操做 | |
關係運算符 | == | eq | 等於 |
!= | ne | 不等於 | |
> | gt | 大於 | |
< | lt | 小於 | |
>= | ge | 大於等於 | |
<= | le | 小於等於 | |
邏輯運算符 | && | and | 與運算符,若是符號兩邊均爲true,則返回true,不然返回false |
|| | or | 或運算符,若是符號兩邊任何一邊爲true,則返回true,不然返回false | |
! | not | 非運算符,在運算結果爲true的時候,則返回false,不然返回true | |
驗證運算符 | empty | empty做爲前綴,用來檢索一個值是否爲null或者empty。如${empty user.name}用來判斷user對象中的name的值是否爲null | |
條件運算符 | ? | ${條件 ? truevalue:falsevalue},若是條件爲真,則表達式的值爲truevalue,不然爲falsevalue |
字符串比較:
不須要雙引號「」
user.name eq '001' 或 user.name eq Lily
empty 運算符用於判斷值是否爲 null 或 空 。 ${empty null} ${empty ""}
使用EL表達式獲取數據語法:「${標識符}」
EL表達式語句在執行時,會調用pageContext.findAttribute方法,用標識符爲關鍵字,
分別依次從page、request、session、application四個域中查找相應的對象,找到則返回相應對象,
找不到則返回」」 (注意,不是null,而是空字符串)。