EL表達式

EL表達式全名爲 Expression Language,常常與JSTL配合使用,使得JSP頁面更加直觀,寫法更簡單。web

EL表達式的格式

        用美圓符號 「$」定界,內容包含在花括號「{}」中數組

        ".」和「[]」:${param.name} 和 ${param["name"]} 是等價的,可是當要存取的屬性名稱中包含有一些特殊字符如 "." 或 "-" 等非字母或數字的符號 或者 在使用動態取值時,就必定要使用 "[]" 運算符瀏覽器

EL變量

(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的九大內置對象相對應請參考編寫

EL操做符

運算 符號 字母表示 含義
算術運算符 +   執行加法操做
-   執行減法操做
*   執行乘法操做
/ 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,而是空字符串)。

相關文章
相關標籤/搜索