ZhipSoft.com
              冬去春來
                  鄭重聲明:本Blog純屬個人學習、工作需要,記錄相關資料。請不要發表任何有人身攻擊的言論,謝謝!!www.ZhipSoft.com
          posts - 94,comments - 149,trackbacks - 0
          EL?表達式的格式是這樣的:用美元符號($)定界,內容包括在花括號({})中。
          ??????清單?1.?說明?EL?表達式定界符的?JSTL?操作??
          ??????????????<c:out?value="${user.firstName}"/>;
          此外,您可以將多個表達式與靜態文本組合在一起以通過字符串并置來構造動態屬性值,如清單?4?所示。單獨的表達式由標識符、存取器、文字和運算符組成。標識符用來引用存儲在數據中心中的數據對象。EL?有?11?個保留標識符,對應于?11?個?EL?隱式對象。假定所有其它標識符都引用限制了作用域的變量。存取器用來檢索對象的特性或集合的元素。文字表示固定的值?—?數字、字符、字符串、布爾型或空值。運算符允許對數據和文字進行組合以及比較。
          ??????清單?2.?組合靜態文本和多個?EL?表達式以指定動態屬性值??
          ????????????<c:out?value="Hello?${user.firstName}?${user.lastName}"/>;
          隱式對象
          表?1?中列出了?11?個?EL?隱式對象的標識符。不要將這些對象與?JSP?隱式對象(一共只有九個)混淆,其中只有一個對象是它們所共有的。

          表?1.?EL?隱式對象
          類別????????標識符????????????描述?
          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?目錄中。
          最終,EL?還包括了幾個用來操作和比較?EL?表達式所訪問數據的運算符。表?2?中匯總了這些運算符。

          表?2.?EL?運算符

          類別??????????運算符?
          算術運算符????+、-、*、/(或?div)和?%(或?mod)?
          關系運算符?????==(或?eq)、!=(或?ne)、<</code>;(或?lt)、>;(或?gt)、<=(或?le)和?

          >;=(或?ge)?
          邏輯運算符????&&(或?and)、||(或?or)和?!(或?not)?
          驗證運算符????empty??
          ??????清單?3.?利用算術運算符的?EL?表達式?
          ?????????????${item.price?*?(1?+?taxRate[user.address.zipcode])}?
          ??????清單?4.?利用關系和邏輯運算符的?EL?表達式?
          ?????????????${(x?>;=?min)?&&?(x?<=?max)}
          表?3.?EL?運算符優先級(自頂到底,從左到右)

          [],?.?
          ()?
          unary?-、not、!、empty?
          *、/、div、%、mod?
          +、binary?-?
          ()?<</code>;、>;、<=、>;=、lt、gt、le、ge?
          ==、!=、eq、ne?
          &&、and?
          ||、or
          ?????????清單?5.?用于?JSTL?core?庫?EL?版本的?taglib?偽指令??
          ?????????????????????<%@?taglib?uri="http://java.sun.com/jstl/core"?prefix="c"?%>;
          ?

          這個問題一般是由于你使用的jstl版本造成的。
          你的頁面應該會包含如下代碼:
          <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
          <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
          <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
          這是最新版的jstl 1.1路徑,而如果你使用的是舊版1.0的則需要把路徑中的jsp去掉,如下:
          <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
          <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
          <%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %>

          ?


                  本Blog純屬個人學習、工作需要,記錄相關資料。請不要發表任何有人身攻擊的言論,謝謝! www.zhipsoft.cn
          posted on 2006-05-03 00:22 ZhipSoft 閱讀(3454) 評論(1)  編輯  收藏 所屬分類: 收藏轉載

          FeedBack:
          # re: EL表達式
          2007-08-13 20:20 | s
          ss  回復  更多評論
            
          主站蜘蛛池模板: 米脂县| 攀枝花市| 安顺市| 临武县| 分宜县| 浙江省| 新龙县| 东港市| 闽侯县| 固安县| 东辽县| 凌云县| 信宜市| 沙坪坝区| 万全县| 关岭| 门源| 卓尼县| 游戏| 五家渠市| 平远县| 哈尔滨市| 桐乡市| 沧州市| 和田县| 安化县| 宁武县| 渝中区| 高安市| 湟中县| 句容市| 洛川县| 克什克腾旗| 齐齐哈尔市| 鲁甸县| 城步| 牡丹江市| 平邑县| 镇雄县| 西畴县| 芦山县|