《JSP-Web開發(fā)基礎(chǔ)教程(微課版)》ch12_第1頁
《JSP-Web開發(fā)基礎(chǔ)教程(微課版)》ch12_第2頁
《JSP-Web開發(fā)基礎(chǔ)教程(微課版)》ch12_第3頁
《JSP-Web開發(fā)基礎(chǔ)教程(微課版)》ch12_第4頁
《JSP-Web開發(fā)基礎(chǔ)教程(微課版)》ch12_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1頁第12章自定義標(biāo)簽

本章概述本章的學(xué)習(xí)目標(biāo)主要內(nèi)容第2頁本章概述在JSP頁面中,最為理想的代碼結(jié)構(gòu)是頁面中不含有Java代碼,只含有HTML代碼和部分標(biāo)簽代碼,Java代碼只存在于業(yè)務(wù)邏輯處理的后臺中。在上一章節(jié)中介紹了JSTL標(biāo)簽,使得JSP中的Java代碼得到簡化,頁面邏輯更加清晰,本章將介紹JSP的自定義標(biāo)簽,通過本章的學(xué)習(xí),可以做到JSP頁面由標(biāo)簽組成,不留下Java代碼。第3頁本章的學(xué)習(xí)目標(biāo)了解自定義標(biāo)簽及其定義方法了解標(biāo)簽庫文件的描述掌握如何制定帶參數(shù)的自定義標(biāo)簽掌握如何制定嵌套的自定義標(biāo)簽第4頁主要內(nèi)容12.1編寫自定義標(biāo)簽

12.2

嵌套的自定義標(biāo)簽

12.3JSP2.X標(biāo)簽

12.4本章小結(jié)第5頁12.1編寫自定義標(biāo)簽

12.1.1版權(quán)標(biāo)簽12.1.2tld標(biāo)簽庫描述文件12.1.3TagSupport類簡介12.1.4帶參數(shù)的自定義標(biāo)簽12.1.5帶標(biāo)簽體的自定義標(biāo)簽12.1.6多次執(zhí)行的循環(huán)標(biāo)簽12.1.7帶動態(tài)屬性的自定義標(biāo)簽第6頁12.1.1版權(quán)標(biāo)簽1.編寫自定義標(biāo)簽實現(xiàn)類2.配置標(biāo)簽3.使用自定義標(biāo)簽第7頁12.1.2tld標(biāo)簽庫描述文件tld標(biāo)簽庫描述文件的實質(zhì)是采用XML文件格式進(jìn)行描述的,tld文件中常用的元素有taglib、tag、attribute和variable。<taglib>元素是用來設(shè)置整個標(biāo)簽庫信息的。<tag>元素用來定義標(biāo)簽具體的內(nèi)容。<attribute>元素用來定義標(biāo)簽<tag>中的屬性。<variable>元素用來定義標(biāo)簽<tag>中的變量屬性。第8頁12.1.3TagSupport類簡介在JSP1.0中,自定義標(biāo)簽庫的實現(xiàn)類大多繼承自TagSupport類來實現(xiàn)自身的方法,其實現(xiàn)了Tag接口,有4個重要的方法如表所示。方法說明intdoStartTag()遇到自定義標(biāo)簽開始時調(diào)用該方法,有2個可選值:SKIP_BODY(表示不用處理標(biāo)簽體,直接調(diào)用doEndTag()方法)、EVAL_BODY_INCLUDE(正常執(zhí)行標(biāo)簽體,但不對標(biāo)簽體做任何處理)intdoAfterBody()重復(fù)執(zhí)行標(biāo)簽體內(nèi)容的方法,有2個可選值:SKIP_BODY(表示不用處理標(biāo)簽體,直接調(diào)用doEndTag()方法)、EVAL_BODY_AGAIN(重復(fù)執(zhí)行標(biāo)簽體內(nèi)容)intdoEndTag()遇到自定義標(biāo)簽結(jié)束時調(diào)用該方法,有2個可選值:SKIP_PAGE(忽略標(biāo)簽后面的JSP內(nèi)容,中止JSP頁面執(zhí)行)、EVAL_PAGE(處理標(biāo)簽后,繼續(xù)處理JSP后面的內(nèi)容)voidrelease()釋放獲得的資源第9頁12.1.4帶參數(shù)的自定義標(biāo)簽1.定義自定義標(biāo)簽的參數(shù)2.定義帶參數(shù)的自定義標(biāo)簽實現(xiàn)類第10頁12.1.5帶標(biāo)簽體的自定義標(biāo)簽定義帶標(biāo)簽體的自定義標(biāo)簽的步驟如下。1.定義包含標(biāo)簽體的tld文件2.通過定義自定義標(biāo)簽處理類來處理標(biāo)簽體3.使用帶標(biāo)簽體的自定義標(biāo)簽第11頁12.1.6多次執(zhí)行的循環(huán)標(biāo)簽自定義標(biāo)簽中的循環(huán)標(biāo)簽是指當(dāng)標(biāo)簽執(zhí)行doAfterBody()方法的時候,其返回值是EVAL_BODY_AGAIN(重復(fù)執(zhí)行標(biāo)簽體內(nèi)容)。第12頁主要內(nèi)容12.1編寫自定義標(biāo)簽12.2嵌套的自定義標(biāo)簽12.3JSP2.X標(biāo)簽

12.4本章小結(jié)第13頁12.2嵌套的自定義標(biāo)簽12.2.1實例:表格標(biāo)簽12.2.2嵌套標(biāo)簽的配置12.2.3嵌套標(biāo)簽的運行效果第14頁12.2嵌套的自定義標(biāo)簽嵌套的自定義標(biāo)簽是指自定義的標(biāo)簽相互嵌套,例如以下形式:<linl:tablevar="item"items="${users}"> <linl:showUserInfouser="${item}"/></linl:table>從上述的形式可以看出有個迭代標(biāo)簽<linl:table>和輸出標(biāo)簽<linl:showUserInfo>,需要分別建立這兩個標(biāo)簽,下面來敘述一下如何創(chuàng)建上述嵌套標(biāo)簽。第15頁主要內(nèi)容12.1編寫自定義標(biāo)簽12.2嵌套的自定義標(biāo)簽

12.3JSP2.X標(biāo)簽12.4本章小結(jié)第16頁12.3JSP2.X標(biāo)簽JSP2.X標(biāo)簽庫新增了一個新的自定義標(biāo)簽接口類:SimpleTag接口。該接口提供了doTag()方法去處理自定義標(biāo)簽中的邏輯過程、循環(huán)體以及標(biāo)簽體的過程。在SimpleTag接口中還提供setJspBody()和getJspBody()方法,用于設(shè)置JSP的相關(guān)內(nèi)容。第17頁主要內(nèi)容12.1編寫自定義標(biāo)簽12.2嵌套的自定義標(biāo)簽

12.3JSP2.X標(biāo)簽12.4本章小結(jié)第18頁12.4本章小結(jié)本章介紹了自定義標(biāo)簽的實現(xiàn)方法,通過本章的學(xué)習(xí),讀

溫馨提示

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

評論

0/150

提交評論