JSP基礎(chǔ)與案例開發(fā)詳解:第6章 EL表達(dá)式_第1頁
JSP基礎(chǔ)與案例開發(fā)詳解:第6章 EL表達(dá)式_第2頁
JSP基礎(chǔ)與案例開發(fā)詳解:第6章 EL表達(dá)式_第3頁
JSP基礎(chǔ)與案例開發(fā)詳解:第6章 EL表達(dá)式_第4頁
JSP基礎(chǔ)與案例開發(fā)詳解:第6章 EL表達(dá)式_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1第6章 EL表達(dá)式學(xué)前提示JSP表達(dá)式語言(ExpressionLanguage),簡稱EL,最初定義在JSTL1.0規(guī)范中,直到JSP2.0之后,EL表達(dá)式才正式成為JSP規(guī)范中的一部分。EL表達(dá)式提供了在JSP中簡化表達(dá)式的方法,它基于可用的命名空間(PageContext屬性)、嵌套屬性和對集合/操作符(算術(shù)型、關(guān)系型和邏輯型)的訪問符,映射到Java類中靜態(tài)方法的可擴(kuò)展函數(shù)以及一組隱式對象。EL表達(dá)式的目的是為了使JSP頁面編寫起來更簡單。本章將學(xué)習(xí)EL表達(dá)式的相關(guān)知識。知識要點(diǎn)EL表達(dá)式概述EL表達(dá)式的基本語法EL表達(dá)式的隱式對象禁用EL表達(dá)式26.1EL表達(dá)式概述EL全稱為ExpressionLanguage,即表達(dá)式語言,它的誕生是從JavaScript腳本語言得到啟發(fā)的,它借鑒了JavaScript多類型轉(zhuǎn)換無關(guān)性的特點(diǎn),在使用EL從scope中得到參數(shù)時(shí)可以自動(dòng)轉(zhuǎn)換類型,因此對于類型轉(zhuǎn)換的限制更加寬松。使用EL表達(dá)式,可以簡化變量和對象的訪問。EL是為了便于存取數(shù)據(jù)而定義的一種語言,JSP2.0之后才成為一種標(biāo)準(zhǔn)。36.2EL表達(dá)式的基本語法EL表達(dá)式的出現(xiàn)讓W(xué)eb的顯示層發(fā)生了大的變革,EL是為了便于存取數(shù)據(jù)而定義的一種語言,在JSP2.0之后成為一種標(biāo)準(zhǔn)。46.2.1語法結(jié)構(gòu)EL語法結(jié)構(gòu)為${expression},它必須以“${”開始,以“}”結(jié)束。其中間的expression部分就是具體表達(dá)式的內(nèi)容。EL表達(dá)式可以作為元素屬性的值,也可以在自定義或者標(biāo)準(zhǔn)動(dòng)作元素的內(nèi)容中使用,但是不可以在腳本元素中使用。EL表達(dá)式可適用于所有的HTML和JSP標(biāo)簽。56.2.2[]與.運(yùn)算符EL提供點(diǎn)(.)和方括號([])兩種運(yùn)算符來存取數(shù)據(jù)。點(diǎn)運(yùn)算符和方括號運(yùn)算符可以實(shí)現(xiàn)某種程度的互換,如${}等價(jià)于${student[“name”]}。通常情況下,用點(diǎn)運(yùn)算符是較常見的方式。但是在以下情形中建議采用方括號運(yùn)算符。當(dāng)要存取的屬性名稱中包含一些特殊字符,如.或?等并非字母或數(shù)字的符號時(shí),就一定要使用[]。如果要?jiǎng)討B(tài)取值,就可以用[]來做,而.無法做到動(dòng)態(tài)取值。例如${sessionScope.student[data]}中data是一個(gè)變量。66.2.3變量EL存取變量數(shù)據(jù)的方法很簡單,例如${username}。它的意思是取出某一范圍中名稱為username的變量。屬性范圍在EL中的名稱如表6.1所示。76.2.4文字常量一個(gè)EL表達(dá)式包含變量、文字常量、操作符。文字常量主要包括字符串、數(shù)字和布爾值,還有NULL。其中字符串是由任何由單引號或雙引號括起來的一串字符。數(shù)字常量包括整型、浮點(diǎn)型,整型表示十進(jìn)制、十六進(jìn)制和八進(jìn)制類型的值,浮點(diǎn)型與Java類似,可以包含任何正的或者負(fù)的浮點(diǎn)數(shù)。布爾型包括true和false。86.2.5操作符1.算術(shù)運(yùn)算符2.關(guān)系運(yùn)算符3.邏輯運(yùn)算符4.驗(yàn)證運(yùn)算符“empty”與條件運(yùn)算符“?:”96.3EL表達(dá)式的隱式對象在JSP中已經(jīng)介紹了9個(gè)內(nèi)置對象,在EL表達(dá)式中共有11個(gè)隱式對象,下面分別來講述這些隱式對象的用法。106.3.1與范圍有關(guān)的隱含對象與范圍有關(guān)的EL隱含對象包含以下4個(gè):pageScope、requestScope、sessionScope和applicationScope;它們基本上與JSP的pageContext、request、session和application一樣。在EL中,這4個(gè)隱含對象只能用來取得范圍屬性值,即getAttribute(Stringname),卻不能取得其他相關(guān)信息。例如,要取得session中儲(chǔ)存的一個(gè)username屬性的值,可以利用下面的方法:session.getAttribute("username")在EL中則使用下面的方法:${sessionScope.username}116.3.2與輸入有關(guān)的隱含對象與輸入有關(guān)的隱含對象有兩個(gè),即param和paramValues,它們是EL中比較特別的隱含對象。例如要取得用戶的請求參數(shù)時(shí),可以利用下列方法:request.getParameter(Stringname)request.getParameterValues(Stringname)在EL中則可以使用param和paramValues兩者來取得數(shù)據(jù):${}${paramV}126.3.3其他隱含對象1.cookie2.header和headerValues3.initParam4.pageContext136.3.4范圍相關(guān)隱式對象的使用示例在工程中新建elScope.jsp頁面,該頁面主要用于演示EL表達(dá)式的隱式對象的使用,代碼清單如下:參見教材P205啟動(dòng)Tomcat,在地址欄中輸入“http://localhost:8087/ELProject/elScope.jsp”,顯示結(jié)果如圖6.6所示。146.3.4范圍相關(guān)隱式對象的使用示例再新建名為elSscope2.jsp的頁面,頁面的詳細(xì)代碼如下所示:參見教材P208重新啟動(dòng)Tomcat,在地址欄中輸入“http://localhost:8087/ELProject/elScope.jsp”,用鼠標(biāo)單擊“下一頁”連接,顯示的頁面如圖6.7所示。156.3.5輸入相關(guān)隱式對象的使用示例在工程中新建elPparam.jsp頁面,頁面的代碼清單如下:參見教材P210啟動(dòng)Tomcat,在地址欄中輸入“http://localhost:8087/ELProject/elParameter.jsp”,顯示的頁面如圖6.8所示。166.3.5輸入相關(guān)隱式對象的使用示例以上只是用來收集用戶數(shù)據(jù)的頁面,要獲取頁面提交過來的數(shù)據(jù)并顯示出來,還需要?jiǎng)?chuàng)建elParamResult.jsp頁面,頁面的代碼清單如下:參見教材P212重新啟動(dòng)Tomcat,在瀏覽器中輸入地址“http://localhost:8087/ELProject/elParameter.jsp”,在顯示的頁面中輸入相應(yīng)的數(shù)據(jù)后用鼠標(biāo)單擊“提交”按鈕,顯示的效果如圖6.9所示。176.4禁用EL在JSP2.0以上版本中,默認(rèn)是啟用EL表達(dá)式的,如果需要禁用表達(dá)式的話,需要在JSP頁面中使用page指令的isELIgnored屬性來指定,語法如下:<%@pageisELIgnored="true|false"%>true:表示忽

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論