Java-Web開(kāi)發(fā)基礎(chǔ)第7章課件_第1頁(yè)
Java-Web開(kāi)發(fā)基礎(chǔ)第7章課件_第2頁(yè)
Java-Web開(kāi)發(fā)基礎(chǔ)第7章課件_第3頁(yè)
Java-Web開(kāi)發(fā)基礎(chǔ)第7章課件_第4頁(yè)
Java-Web開(kāi)發(fā)基礎(chǔ)第7章課件_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2022/7/181遼寧科技學(xué)院 電信學(xué)院第7章 JSTL2022/7/182點(diǎn)擊添加文本點(diǎn)擊添加文本點(diǎn)擊添加文本點(diǎn)擊添加文本目錄010202JSTL的安裝JSTL概述0203常用JSTL標(biāo)簽與EL表達(dá)式0204案例- JSTL范例2022/7/183點(diǎn)擊添加文本點(diǎn)擊添加文本點(diǎn)擊添加文本點(diǎn)擊添加文本了解JSTL的一些基本概念、掌握J(rèn)STL的安裝理解JSTL的組成和EL內(nèi)置對(duì)象的使用方法掌握常用的JSTL標(biāo)簽與EL表達(dá)式的使用2022/7/1847.1 JSTL概述JSTL是由apache的jakarta小組研發(fā)的,是JCP(Java Commnunity Process)指定的標(biāo)準(zhǔn)規(guī)范,是一組

2、形如html的標(biāo)簽,使得程序員即使不需要學(xué)習(xí)Java也可以編寫(xiě)動(dòng)態(tài)Web頁(yè)。使用JSTL將有如下好處:1.在應(yīng)用程序服務(wù)器之間提供了一致的開(kāi)發(fā)接口,最大程度地提高了WEB應(yīng)用在各應(yīng)用服務(wù)器之間的移植。2.簡(jiǎn)化了JSP和WEB應(yīng)用程序的開(kāi)發(fā)。JSTL的標(biāo)簽分類(lèi)根據(jù)JSTL標(biāo)簽所提供的功能,可以將JSTL的標(biāo)簽分為5類(lèi),如下表所示。2022/7/185JSTL標(biāo)記使用如果在JSP中要使用JSTL標(biāo)記,那么需要通過(guò)使用JSP中的taglib指令指定子標(biāo)記庫(kù)的URI和前綴,比如要使用核心標(biāo)簽庫(kù)中的標(biāo)記,則首先需要在JSP文件中加入如下所示的代碼: 其中,URI(Uniform Resource Ide

3、ntifier,統(tǒng)一資源標(biāo)識(shí)符)表示的是標(biāo)簽的位置,prefix是表示在使用該標(biāo)簽時(shí)所用的前綴。2022/7/1867.2 JSTL的安裝與JSP和Servlet一樣,JSTL也是一種Java技術(shù)規(guī)范,要使用它需要安裝實(shí)現(xiàn)該規(guī)范的軟件。1. JSTL的JAR包下載方法一:進(jìn)入Apache官方網(wǎng)站,從下載中心下載。方法二:使用MyEclipse自帶的驅(qū)動(dòng)包。2.創(chuàng)建web開(kāi)發(fā)項(xiàng)目。3.拷貝.jar文件。4.在/WEB-INF/下編輯web.xml文件核心代碼。5.編寫(xiě)index.jsp文件,來(lái)測(cè)試JSTL的安裝是否成功。2022/7/1872022/7/1887.3常用的JSTL標(biāo)簽與EL表達(dá)式

4、通常,JSTL和EL表達(dá)式都是結(jié)合在一起使用的,一般EL作為JSTL標(biāo)簽的屬性值來(lái)存在。本節(jié)在這里主要只介紹JSTL其他四種標(biāo)簽庫(kù)和函數(shù)的組成、EL表達(dá)式、使用JSP EL讀取JavaBean屬性、以及JSP EL內(nèi)置對(duì)象。JSTL由四個(gè)定制標(biāo)記庫(kù)(core、format、xml 和 sql)和一個(gè)函數(shù)標(biāo)簽(functions)組成。2022/7/1897.3.1 JSTL組成JSTL由四個(gè)定制標(biāo)記庫(kù)(core、format、xml 和 sql)和一個(gè)函數(shù)標(biāo)簽(functions)組成。core 標(biāo)記庫(kù)提供了定制操作,通過(guò)限制了作用域的變量管理數(shù)據(jù),以及執(zhí)行頁(yè)面內(nèi)容的遍歷和條件操作。它還提供了

5、用來(lái)生成和操作 URL 的標(biāo)記。顧名思義,format 標(biāo)記庫(kù)定義了用來(lái)格式化數(shù)據(jù)(尤其是數(shù)字和日期)的操作。它還支持使用本地化資源束進(jìn)行 JSP 頁(yè)面的國(guó)際化。xml 庫(kù)包含一些標(biāo)記,這些標(biāo)記用來(lái)操作通過(guò) XML 表示的數(shù)據(jù),而 sql標(biāo)簽庫(kù)定義了用來(lái)查詢(xún)關(guān)系數(shù)據(jù)庫(kù)的操作。由于使用JavaBean對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作更加靈活和方便,因此不推薦使用JSTL中的數(shù)據(jù)庫(kù)存取功能,所以這里不再介紹sql標(biāo)簽庫(kù)。2022/7/18101、JSTL的核心標(biāo)簽庫(kù)核心標(biāo)簽庫(kù)中包含的標(biāo)簽是最常用的JSTL標(biāo)簽,這些標(biāo)簽按功能分為一般用途標(biāo)簽、條件流程控制標(biāo)簽、遍歷操作標(biāo)簽、URL相關(guān)的標(biāo)簽四種,具體標(biāo)簽如下:(1

6、)一般用途標(biāo)簽:、。(2)條件流程控制標(biāo)簽:、。(3)遍歷操作標(biāo)簽:、。(4)URL相關(guān)的標(biāo)簽:、。使用標(biāo)簽時(shí),一定要在jsp文件頭加入以下代碼:2022/7/18112、JSTL的格式化與國(guó)際化標(biāo)簽庫(kù)JSTL提供了格式化與國(guó)際化標(biāo)簽庫(kù),在該標(biāo)簽庫(kù)中的標(biāo)簽一共有12種,被分為兩大類(lèi),它們分別是:(1)國(guó)際化標(biāo)簽:、(2)格式化標(biāo)簽:、2022/7/18123、XML標(biāo)簽庫(kù)JSTL為Web應(yīng)用設(shè)計(jì)者提供了對(duì)XML格式文件進(jìn)行基本操作的標(biāo)簽庫(kù),按功能分為XML核心標(biāo)簽、XML流程控制標(biāo)簽、XML轉(zhuǎn)換標(biāo)簽三類(lèi),它們分別是:(1)XML核心標(biāo)簽:、(2)XML流程控制標(biāo)簽:、(3)XML轉(zhuǎn)換標(biāo)簽:、2

7、022/7/18134、JSTL的函數(shù)標(biāo)簽在JSTL中為EL提供了一些實(shí)用的函數(shù)標(biāo)簽來(lái)實(shí)現(xiàn)相應(yīng)的功能,它們分別是:(1)Fn:contains:判斷一個(gè)字符串是否還包含了指定的子串。(2)Fn:containslgnoreCase:判斷一個(gè)字符串是否包含了指定的子串,忽略大小寫(xiě)。(3)Fn:startsWith:判斷一個(gè)字符串是否以指定的前綴字符串開(kāi)頭。(4)Fn:endWith:判斷一個(gè)字符串是否以指定的后綴字符串結(jié)尾。(5)Fn:indexOf:在一個(gè)字符串中查找子串,并返回最先匹配的字符串的第一個(gè)字符的索引。(6)Fn:replace:將一個(gè)字符串中的某一部分替代另外的字符串,并返回替換

8、后的結(jié)果。(7)Fn:substring:截取字符串中的某一部分。(8)Fn:substringBefore:返回一個(gè)字符串中指定子串之前的字符串。2022/7/18144、JSTL的函數(shù)標(biāo)簽在JSTL中為EL提供了一些實(shí)用的函數(shù)標(biāo)簽來(lái)實(shí)現(xiàn)相應(yīng)的功能,它們分別是:(9)Fn:substringAfter:返回一個(gè)字符串中指定子串之后的字符串。(10)Fn:split:將一個(gè)字符串拆分為字符串?dāng)?shù)組。(11)Fn:join:將數(shù)組中所有的元素連接為一個(gè)字符串。(12)Fn:toLowerCase:將字符串中所有的字符都轉(zhuǎn)換成小寫(xiě)字符。(13)Fn:toUpperCase:將字符串中所有的字符都轉(zhuǎn)換

9、成大寫(xiě)字符。(14)Fn:trim:去掉字符串前后的空白符。(15)Fn:escapeXml:將字符串中的字符“”、“”、“”,“”、“&”轉(zhuǎn)換成相對(duì)應(yīng)的字符引用或預(yù)定義實(shí)體引用。(16)Fn:length:返回集合中元素的數(shù)目,或者字符串中字符的數(shù)目。7.3.2 EL表達(dá)式EL(Expression Language)是表達(dá)式語(yǔ)言的英文簡(jiǎn)寫(xiě),它提供了在 JSP 中簡(jiǎn)化表達(dá)式的方法。EL是為了滿(mǎn)足Web應(yīng)用中顯示層的開(kāi)發(fā)而設(shè)計(jì)的語(yǔ)言,在JSP頁(yè)面中可以直接使用EL語(yǔ)句,JSP容器在編譯時(shí)會(huì)對(duì)EL語(yǔ)句自動(dòng)處理。EL的表示方法很簡(jiǎn)單,其語(yǔ)法結(jié)構(gòu)如下:$Expression其中,所有EL都是以“$”

10、為起始,以“”為結(jié)尾的。2022/7/18152022/7/18161、 EL表達(dá)式的組成EL表達(dá)式是由常量、變量、運(yùn)算符和函數(shù)調(diào)用組成的。下面將分別了解表達(dá)式中的每個(gè)組成部分:(1)常量JSP EL表達(dá)式語(yǔ)言定義可在表達(dá)式中使用常量,常量的類(lèi)型如下表所示。2022/7/18171、 EL表達(dá)式的組成(2)變量EL中的變量并不是普通符合Java語(yǔ)法的局部或是全局變量,而只能是存儲(chǔ)于JSP作用域中的屬性名值,所以EL中所包含的默認(rèn)變量類(lèi)型有pageScope、requestScope、 sessionScope和applicationScope四種,是包含Scope 作用范圍的參數(shù)集合,相當(dāng)于被

11、保存在 java.util.Map 中的某個(gè)參數(shù),具體EL變量類(lèi)型如下表所示。2022/7/18181、 EL表達(dá)式的組成(3)運(yùn)算符JSP EL表達(dá)式語(yǔ)言提供多種運(yùn)算符,按功能其運(yùn)算符主要分為存取數(shù)據(jù)運(yùn)算符和表達(dá)式求值運(yùn)算符兩種。存取數(shù)據(jù)運(yùn)算符為“”和“.”,其中“”主要用來(lái)訪(fǎng)問(wèn)數(shù)組、列表或其他集合對(duì)象的屬性;“.”主要用于訪(fǎng)問(wèn)對(duì)象的屬性。表達(dá)式求值運(yùn)算符和Java語(yǔ)言運(yùn)算符類(lèi)似,主要分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符和其它運(yùn)算符等。7.3.3使用JSP EL讀取JavaBean屬性通常情況下,若使用JSP EL讀取JavaBean屬性,則需要先用Java語(yǔ)句生成JavaBean對(duì)象后,

12、再用setXxxxx()方法來(lái)設(shè)置屬性的初始值,將對(duì)象放入request作用范圍內(nèi),此后EL表達(dá)式就可以使用JavaBean對(duì)象了。將通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)單的JavaBean,并使用JSP EL程序來(lái)讀取JavaBean屬性,類(lèi)名為login的 JavaBean程序代碼請(qǐng)參見(jiàn)書(shū)6.1.7中。2022/7/18197.3.4 JSP EL內(nèi)置對(duì)象JSP EL表達(dá)式語(yǔ)言提供了11個(gè)內(nèi)置對(duì)象,這些對(duì)象在 JSP和表達(dá)式中都可用。通過(guò)這些內(nèi)置對(duì)象,Web頁(yè)面設(shè)計(jì)人員可以采取一種簡(jiǎn)單的方式獲取相關(guān)的值和屬性。這些內(nèi)置對(duì)象可以分為5類(lèi)。2022/7/18207.3.4 JSP EL內(nèi)置對(duì)象JSP EL內(nèi)置對(duì)象分

13、為5類(lèi),具體如下:2022/7/1821類(lèi)別內(nèi)置對(duì)象對(duì)應(yīng)的類(lèi)說(shuō)明JSPpageContextjavax.servlet.jsp.PageContext獲取當(dāng)前JSP頁(yè)面的上下文信息、可訪(fǎng)問(wèn)JSP的內(nèi)置對(duì)象作用域pageScopejava.util.Map獲取頁(yè)面(page)范圍的屬性名稱(chēng)及對(duì)應(yīng)的值,與范圍有關(guān)requestScopejava.util.Map獲取請(qǐng)求(request)范圍的屬性名稱(chēng)及對(duì)應(yīng)的值,與范圍有關(guān)sessionScopejava.util.Map獲取會(huì)話(huà)(session)范圍的屬性名稱(chēng)及對(duì)應(yīng)的值,與范圍有關(guān)applicationScopejava.util.Map獲取應(yīng)用

14、(application)范圍的屬性名稱(chēng)及對(duì)應(yīng)的值,與范圍有關(guān)請(qǐng)求參數(shù)paramjava.util.Map獲取單個(gè)指定請(qǐng)求參數(shù)的值,與輸入有關(guān)paramValuesjava.util.Map獲取所有請(qǐng)求參數(shù)的值,與輸入有關(guān)請(qǐng)求頭headerjava.util.Map獲取單個(gè)指定請(qǐng)求頭信息的值headerValuesjava.util.Map獲取所有指定請(qǐng)求頭信息的值Cookiecookiejava.util.Map獲取request中的Cookie類(lèi)初始化參數(shù)initParamjava.util.Map獲取初始化參數(shù)信息7.4 案例- JSTL范例將通過(guò)一個(gè)用戶(hù)興趣調(diào)查表實(shí)例來(lái)演示JSTL的用法:先設(shè)計(jì)一個(gè)輸入表單頁(yè)面useform.j

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論