![第3章 Tag文件與Tag標記(第2版)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/45fb72a4-e6ec-42d7-bcdb-89701814e200/45fb72a4-e6ec-42d7-bcdb-89701814e2001.gif)
![第3章 Tag文件與Tag標記(第2版)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/45fb72a4-e6ec-42d7-bcdb-89701814e200/45fb72a4-e6ec-42d7-bcdb-89701814e2002.gif)
![第3章 Tag文件與Tag標記(第2版)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/45fb72a4-e6ec-42d7-bcdb-89701814e200/45fb72a4-e6ec-42d7-bcdb-89701814e2003.gif)
![第3章 Tag文件與Tag標記(第2版)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/45fb72a4-e6ec-42d7-bcdb-89701814e200/45fb72a4-e6ec-42d7-bcdb-89701814e2004.gif)
![第3章 Tag文件與Tag標記(第2版)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/45fb72a4-e6ec-42d7-bcdb-89701814e200/45fb72a4-e6ec-42d7-bcdb-89701814e2005.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、(第第2版版)第第3章章 配合一起使用一起使用Power point 制作:耿祥義 張躍平普通高等教育普通高等教育“十一五十一五”國家級規(guī)劃教材國家級規(guī)劃教材Tag文件與文件與Tag標記標記2主要內(nèi)容主要內(nèi)容Tag文件的結(jié)構(gòu)文件的結(jié)構(gòu)Tag文件的存儲目錄文件的存儲目錄Tag標記標記Tag文件中的常用指令文件中的常用指令Tag標記的嵌套標記的嵌套難點難點掌握掌握Tag文件中的文件中的attribute指令指令掌握掌握Tag文件中的文件中的variable指令指令關(guān)鍵實踐關(guān)鍵實踐使用標記體使用標記體使用使用attribute指令和指令和variable指令指令第3章導讀章導讀33.1 Tag文件的
2、結(jié)構(gòu)文件的結(jié)構(gòu) Tag文件是一種特殊的文本文件。文件是一種特殊的文本文件。Tag文件和文件和JSP文件很類似,可以被文件很類似,可以被JSP頁面動態(tài)加載調(diào)用,但是頁面動態(tài)加載調(diào)用,但是用戶不能通過該用戶不能通過該Tag文件所在文件所在Web服務(wù)目錄直接訪服務(wù)目錄直接訪問這個問這個Tag文件。文件。 Tag文件是擴展名為文件是擴展名為.tag的文本文件,其結(jié)構(gòu)幾的文本文件,其結(jié)構(gòu)幾乎和乎和JSP文件相同。一個文件相同。一個Tag文件中可以有普通的文件中可以有普通的HTML標記符、某些特殊的指令標記(見標記符、某些特殊的指令標記(見3.3)、成)、成員變量和方法的聲明、員變量和方法的聲明、Java
3、程序片和程序片和Java表達式。表達式。 參考參考AddSum.tag ,EvenSum.tag4AddSum.tag ,EvenSum.tagOddSum.tag這是一個Tab文件,負責計算1100內(nèi)的奇數(shù)之和: % int sum=0,i=1; for(i=1;iEvenSum.tag這是一個Tab文件,負責計算1100內(nèi)的偶數(shù)之和: % int sum=0,i=1; for(i=1;i53.2 TagTag文件的存儲目錄文件的存儲目錄 如果某個如果某個WebWeb服務(wù)目錄下的服務(wù)目錄下的JSPJSP頁面準備調(diào)用一個頁面準備調(diào)用一個TagTag文件,那么我們必須在該文件,那么我們必須在該W
4、ebWeb服務(wù)目錄下,建立如下服務(wù)目錄下,建立如下的目錄結(jié)構(gòu):的目錄結(jié)構(gòu): WebWeb服務(wù)目錄服務(wù)目錄 WEB-INFtagsWEB-INFtags 比如:比如: ch3WEB-INFtags 其中的其中的WEB-INF和和tags都是都是固定固定的目錄名稱,而的目錄名稱,而tags下的下的子目錄的名稱可由用戶給定子目錄的名稱可由用戶給定。 63.3 TagTag標記標記 3.3.1 Tag3.3.1 Tag標記與標記與TagTag文件文件 當我們編寫了一個當我們編寫了一個Tag文件并保存到特定目錄中后,也就自文件并保存到特定目錄中后,也就自定義出了一個標記,該標記的格式為定義出了一個標記,
5、該標記的格式為: Tag/或或 Tag 標記體標記體 / Tag 一個一個Tag文件對應(yīng)著一個標記,該標記被習慣地稱為文件對應(yīng)著一個標記,該標記被習慣地稱為Tag標標記,將存放在同一目錄中的若干個記,將存放在同一目錄中的若干個Tag文件所對應(yīng)的文件所對應(yīng)的Tag標記的全標記的全體稱之為一個自定義標記庫或簡稱為標記庫。體稱之為一個自定義標記庫或簡稱為標記庫。 73.3.2 Tag3.3.2 Tag標記的使用標記的使用 一個一個JSP頁面通過使用頁面通過使用Tag標記來調(diào)用一個標記來調(diào)用一個Tag文件。分為兩步:文件。分為兩步: 1.1.使用使用 指令標記引入該指令標記引入該WebWeb服務(wù)目錄下
6、的標記庫。服務(wù)目錄下的標記庫。 指令指令的格式如下:的格式如下: 一個一個JSPJSP頁面可以使用幾個頁面可以使用幾個 指令標記引入若干個標記庫,例如:指令標記引入若干個標記庫,例如: 2. JSP頁面使用帶前綴的頁面使用帶前綴的Tag標記調(diào)用相應(yīng)的標記調(diào)用相應(yīng)的Tag文件,其中的前綴由文件,其中的前綴由指令中的指令中的prefix屬性指定。例如:屬性指定。例如: 例例3-18例例1 例子例子1 1中的JSP頁面保存在Web服務(wù)目錄ch3中,該JSP頁面所調(diào)用的Tag文件是3.1節(jié)中提到的OddSum.tag和EvenSum.tag。example3_1.jsp的效果如圖3.1。 以下是調(diào)用以
7、下是調(diào)用Tag文件的效果:文件的效果: 以下是調(diào)用以下是調(diào)用Tag文件的效果:文件的效果: 93.3.3 Tag3.3.3 Tag標記的標記體標記的標記體 標記的格式為標記的格式為: 或或 標記體標記體 當當JSP頁面調(diào)用一個頁面調(diào)用一個Tag文件時可能希望動態(tài)地向該文件時可能希望動態(tài)地向該Tag文件文件傳遞信息,那么就可以使用帶有標記體的傳遞信息,那么就可以使用帶有標記體的Tag標記來執(zhí)行一個標記來執(zhí)行一個Tag文件,文件,Tag標記中的標記中的“標記體標記體”就會傳遞給相應(yīng)的就會傳遞給相應(yīng)的Tag文件,這個文件,這個Tag文件通過使用文件通過使用 標記處理標記處理JSP頁面?zhèn)鬟f過來的頁面?zhèn)?/p>
8、遞過來的“標記體標記體”。詳細討論見。詳細討論見3.4節(jié)。節(jié)。 例例3-210例例2 例子例子2中,example3_2.jsp頁面調(diào)用Show.tag文件,而且通過標記體向Show.tag文件傳遞文本數(shù)據(jù)。Show.tag文件使用處理example3_2.jsp頁面?zhèn)鬟f過來的文本數(shù)據(jù),將該文本數(shù)據(jù)循環(huán)顯示3次并逐次增大文本字體的字號。Show.tag保存在ch3WEB-INFtags目錄中,example3_2.jsp的效果如圖3.2。 113.4 TagTag文件中的常用指令文件中的常用指令 3.4.1 3.4.1 TagTag指令指令 Tag文件中的tag指令類似于JSP文件中的page
9、指令。Tag文件通過使用tag指令可以指定某些屬性的值,以便從總體上影響Tag文件的處理和表示。tag指令的語法如下: 在一個Tag文件中可以使用多個tag指令,因此我們經(jīng)常使用多個tag指令為屬性指定需要的值: tag指令可以操作的屬性有:body-content、language、import、pageEncoding。123.4.1 3.4.1 TagTag指令指令_ _body-contentbody-content屬性屬性 body-content body-content屬性的值屬性的值可以確定可以確定JSPJSP頁面使用頁面使用TagTag標記時是標記時是否可以有標記體,如果允許
10、有標記體,該屬性會給出標記體內(nèi)容否可以有標記體,如果允許有標記體,該屬性會給出標記體內(nèi)容的類型。的類型。 body-contentbody-content屬性屬性值有:值有:emptyempty、tagdependenttagdependent、scriptlessscriptless,默認值是,默認值是scriptlessscriptless。 屬性的值是屬性的值是empty,JSP頁面必須使用沒有頁面必須使用沒有 標記體的標記體的Tag標標記記:Tag/來調(diào)用相應(yīng)的來調(diào)用相應(yīng)的Tag文件。文件。 屬性的值是屬性的值是tagdependent或或scriptless,JSP頁面使用無標記頁面
11、使用無標記體或有標記體的體或有標記體的Tag標記:標記:Tag 標記體標記體/ Tag 來調(diào)用相應(yīng)的來調(diào)用相應(yīng)的Tag文件。文件。 注:注:屬性值是屬性值是scriptlessscriptless, ,那么標記體中不能有那么標記體中不能有JavaJava程序片;程序片; 屬性值是屬性值是tagdependenttagdependent, ,那么那么TagTag文件將標記體的內(nèi)容按純文文件將標記體的內(nèi)容按純文本處理。本處理。 133.4.1 3.4.1 TagTag指令指令_ _language屬性屬性 language屬性的值指定屬性的值指定Tag文件使用的腳文件使用的腳本語言,目前只能取值本
12、語言,目前只能取值java,其默認值就是,其默認值就是java。 143.4.1 3.4.1 TagTag指令指令_ _import屬性屬性 import屬性的作用是為屬性的作用是為Tag文件引入文件引入Java核心包中的類,這樣就可以在核心包中的類,這樣就可以在Tag文件的程序文件的程序片部分、變量及方法聲明部分、表達式部分使片部分、變量及方法聲明部分、表達式部分使用用Java核心包中的類。核心包中的類。import屬性可以取多屬性可以取多個值。個值。 import屬性已經(jīng)有如下值:屬性已經(jīng)有如下值: java.lang.*、 javax.servlet.*、 javax.servlet.j
13、sp.*、javax.servlet.http.*。 153.4.1 3.4.1 TagTag指令指令_ _pageEncoding屬性屬性 該屬性指定該屬性指定TagTag文件的字符編碼,其默認值文件的字符編碼,其默認值是是ISO-8859-1ISO-8859-1。 163.4.2 3.4.2 includeinclude指令指令 在在Tag文件中也有和文件中也有和JSP文件類似的文件類似的include指令標指令標記,其使用方法和作用與記,其使用方法和作用與JSP文件中的文件中的include指令標指令標記類似。記類似。 includeinclude指令標記的作用是在指令標記的作用是在Ta
14、g文件中出現(xiàn)該指令文件中出現(xiàn)該指令的位置處,靜態(tài)插入一個文件。其語法格式如下:的位置處,靜態(tài)插入一個文件。其語法格式如下: 173.4.3 3.4.3 attributeattribute指令指令 在在TagTag文件中通過使用文件中通過使用attributeattribute指令,可以讓使用它的指令,可以讓使用它的JSPJSP頁面向該頁面向該TagTag文件傳遞需要的數(shù)據(jù)。文件傳遞需要的數(shù)據(jù)。attributeattribute指令的格式如下:指令的格式如下:注:注:attributeattribute指令中的指令中的namename屬性是必需的。屬性是必需的。比如比如,一個,一個TagTa
15、g文件文件MyTagMyTag.tag.tag中有如下的中有如下的attributeattribute指令:指令: 那么那么JSPJSP頁面就可以如下使用頁面就可以如下使用TagTag標記(假設(shè)標記的前綴為標記(假設(shè)標記的前綴為computercomputer)調(diào)用)調(diào)用MyTagMyTag.tag.tag: 或或 我向我向Tag文件中傳遞的值是文件中傳遞的值是1000 例例3-3,3-418例例3 例子例子3中,Triangle.tag存放在ch3WEB-INFtags目錄中,該Tag文件負責計算、顯示三角形的面積。example3_3.jsp使用Tag標記調(diào)用Triangle.tag文件,
16、并且向Triangle.tag文件傳遞三角形三邊的長度。example3_3.jsp的效果如圖3.3 。 19例例4 例子例子4中,JSP頁面只負責將學生的姓名和成績分別存放到鏈表(java.util.LinkedLst類型對象)中,然后將鏈表傳遞給Sort.tag,Sort.tag負責按從低到高顯示學生的成績。example3_4.jsp的效果如圖3.4 。 203.4.4 3.4.4 variablevariable指令指令 Tag文件通過使用文件通過使用variable指令可以將指令可以將Tag文件中的對象返回文件中的對象返回給調(diào)用該給調(diào)用該Tag文件的文件的JSP頁面。頁面。(1 1)
17、variablevariable指令的格式指令的格式 例例: : 該該variablevariable指令給出的對象的名字是指令給出的對象的名字是timetime、類型為、類型為java.util.Datejava.util.Date、有效范、有效范圍是圍是AT_ENDAT_END。 (2 2)對象的返回)對象的返回jspContextjspContext調(diào)用調(diào)用setAttribute(“對象的名字對象的名字”,對象的引用對象的引用)方法存儲對象的名字以方法存儲對象的名字以及該對象的引用。比如及該對象的引用。比如:jspContext.setAttribute(time,new Date()
18、;將名字是將名字是timetime的的DateDate對象存儲到對象存儲到j(luò)spContextjspContext中。中。以下的以下的variable指令:指令:為為JSP頁面返回名字是頁面返回名字是time的的Date對對象。象。 例例3-5 21例例5 例子例子5中,Tag文件GiveRoot.tag負責求出一元二次方程的根。JSP頁面在調(diào)用Tag文件時,使用attribute指令將方程的系數(shù)傳遞給Tag文件;Tag文件GiveRoot.tag使用variable指令返回一元二次方程的根給調(diào)用該Tag文件的JSP頁面。例子5中的useOne.jsp和和useTwo.jsp都使用Tag標記調(diào)
19、用GiveRoot.tag,二者都可以得到GiveRoot.tag返回的方程的兩個根,但是二者使用不同的方式來處理和顯示方程的兩個根。userOne.jsp將方程的根保留最多3位小數(shù),并計算方程的兩個根之和,userTwo.jsp將方程的根保留最多5位小數(shù),并計算方程的兩個根之積。userOne.jsp和userTwo.jsp的效果分別如圖3.5(1)和3.5(2) 。 223.4.5 3.4.5 taglibtaglib指令指令 一個一個TagTag文件可以使用文件可以使用TagTag標記來調(diào)用其它的標記來調(diào)用其它的TagTag文件。文件。 TagTag文件必須使用文件必須使用 指令引入該指令引入該WebWeb服務(wù)目錄下的標服務(wù)目錄下的標記庫,才可以使用記庫,才可以使用TagTag標記來調(diào)用相應(yīng)的標記來調(diào)用相應(yīng)的TagTag文件。文件。 指指令的格式如下:令的
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷凍產(chǎn)品購銷合同年
- 單位租車合同協(xié)議
- 航空物流與服務(wù)作業(yè)指導書
- 購買信報箱合同
- 互聯(lián)網(wǎng)金融產(chǎn)品開發(fā)作業(yè)指導書
- 經(jīng)營部國際合作處外事接待管理員崗位說明書
- 裝修合同大全
- 2025年吉林市b2貨運資格證全題
- 2025年岳陽貨運從業(yè)資格證考試試題及答案
- 2025年鄭州駕??荚囏涍\從業(yè)資格證模擬考試
- 創(chuàng)業(yè)計劃路演-美甲
- 不白吃古詩詞漫游記
- DLT817-2014 立式水輪發(fā)電機檢修技術(shù)規(guī)程
- 《狀元大課堂》課件
- 帶式輸送機計算
- 《排球正面雙手傳球》課件
- 五官科眼耳鼻咽喉科醫(yī)療常用器械的認識
- 企業(yè)清產(chǎn)核資報表
- 淺談建筑工程機電安裝施工技術(shù)運用論文
- 《字體設(shè)計》模塊五 裝飾性變化設(shè)計技巧的訓練
- 《摔跤吧爸爸》觀后感PPT
評論
0/150
提交評論