第10章JSTL標(biāo)簽庫_第1頁
第10章JSTL標(biāo)簽庫_第2頁
第10章JSTL標(biāo)簽庫_第3頁
第10章JSTL標(biāo)簽庫_第4頁
第10章JSTL標(biāo)簽庫_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第10章 JSTL標(biāo)簽庫 JSP標(biāo)準(zhǔn)標(biāo)記庫(JSP Standard Tag Library,JSTL)是一個(gè)實(shí)現(xiàn) Web 應(yīng)用程序中常見的通用功能的定制標(biāo)記庫集,這些功能包括迭代和條件判斷、數(shù)據(jù)管理格式化、XML 操作及數(shù)據(jù)庫訪問等。這些標(biāo)記庫實(shí)現(xiàn)了大量服務(wù)器端Java應(yīng)用程序常用的基本功能,大大提高了Web應(yīng)用程序的開發(fā)效率,同時(shí)也提高了Web應(yīng)用程序的可閱讀性和可維護(hù)性。在本章將詳細(xì)剖析JSTL標(biāo)簽庫的基本知識(shí),為讀者步入本書后面知識(shí)的學(xué)習(xí)打下基礎(chǔ)。10.1 JSTL基礎(chǔ) 10.1.1 使用第三方提供的標(biāo)簽庫使用第三方提供的標(biāo)簽庫 為了提高Java Web應(yīng)用的開發(fā)效率,Java制定了一

2、組標(biāo)準(zhǔn)標(biāo)簽庫的規(guī)范,這組標(biāo)準(zhǔn)標(biāo)簽庫簡(jiǎn)稱為JSTL(JavaServer Pages Standard Tag Library)。通過官方或者第三方開發(fā)的標(biāo)簽庫,為開發(fā)人員節(jié)省了大量的開發(fā)時(shí)間,提高了開發(fā)效率。 10.1.2 JSTL標(biāo)簽的構(gòu)成標(biāo)簽的構(gòu)成標(biāo)簽庫名前綴URL描述Corechttp:/ JSTL Core標(biāo)簽庫 Core標(biāo)簽庫主要包含4種類型的標(biāo)簽,分別是一般用途的標(biāo)簽、條件標(biāo)簽、迭代標(biāo)簽和URL相關(guān)的標(biāo)簽。在JSP文件中使用Core標(biāo)簽庫時(shí),需要先通過指令taglib引入該標(biāo)簽庫,具體格式如下所示。 Core標(biāo)簽庫是在編寫JSP時(shí)最常用的標(biāo)簽庫,它包括以下標(biāo)簽。 :用于把一個(gè)表達(dá)式

3、的結(jié)果打印到網(wǎng)頁上。 :用于設(shè)定命名變量的值。如果命名變量為JavaBean,還可以設(shè)定JavaBean的屬性的值;如果命名變量為Map類型,還可以設(shè)定與其中的Key對(duì)應(yīng)的值。 :用于刪除一個(gè)命名變量。 :用于捕獲異常,把異常對(duì)象放在指定的命名變量中。 :用于實(shí)現(xiàn)Java語言中的if語句的功能。 、和:用于實(shí)現(xiàn)Java語言中的if-else語句的功能。 :用于遍歷集合中的對(duì)象,并且能重復(fù)執(zhí)行標(biāo)簽主體。 :用于遍歷字符串中用特定分隔符分隔的子字符串,并且能重復(fù)執(zhí)行標(biāo)簽主體。 :用于包含其他Web資源,與指令的作用有些類似。 :用于按照特定的重寫規(guī)則重新構(gòu)造URL。 :用于重定向。 其中在、 和標(biāo)

4、簽中都可以包含var屬性,該屬性用于設(shè)定命名變量。10.2 JSTL Core標(biāo)簽庫 10.2.1 一般用途的標(biāo)簽一般用途的標(biāo)簽 1. 標(biāo)簽標(biāo)簽 使用標(biāo)簽的基本語法如下所示。 其中屬性value用于設(shè)定表達(dá)式。例如: 2. 標(biāo)簽標(biāo)簽 1)為String類型的命名變量設(shè)定值 當(dāng)使用標(biāo)簽為特定范圍內(nèi)的String類型的命名變量設(shè)定值時(shí),可以使用如下語法格式實(shí)現(xiàn)。 (2)為特定范圍內(nèi)的JavaBean對(duì)象的屬性設(shè)定屬性值 標(biāo)簽可以為特定范圍內(nèi)的JavaBean對(duì)象的屬性設(shè)定屬性值,此時(shí)可以采用如下語法格式 實(shí)現(xiàn)。 (3)為特定范圍內(nèi)的Map對(duì)象的Key設(shè)定值 當(dāng)使用標(biāo)簽在為特定范圍內(nèi)的Map對(duì)象的K

5、ey設(shè)定值時(shí),可以使用如下語法格式實(shí)現(xiàn)。 10.2 JSTL Core標(biāo)簽庫 3. 標(biāo)簽標(biāo)簽 標(biāo)簽的功能是刪除特定范圍內(nèi)的命名變量,其語法格式如下所示。 4. 標(biāo)簽標(biāo)簽 標(biāo)簽的功能是捕獲標(biāo)簽主體中可能出現(xiàn)的異常,并且它把異常對(duì)象作為命名變量保存在頁面范圍內(nèi)。使用標(biāo)簽的語法格式如下所示。 10.2.2 條件標(biāo)簽條件標(biāo)簽 1. 標(biāo)簽標(biāo)簽 標(biāo)簽的作用是實(shí)現(xiàn)Java語言中的if語句的功能,其語法格式如下所示。 10.2 JSTL Core標(biāo)簽庫 2. 、和和標(biāo)簽標(biāo)簽 標(biāo)簽、和在一起聯(lián)合使用,可以實(shí)現(xiàn)Java語言中的if-else語句的功能。例如下面的代碼可以根據(jù)username請(qǐng)求參數(shù)的值來打印不同的

6、結(jié)果。 Nnknown user. $param.username is manager. $param.username is employee. 10.2 JSTL Core標(biāo)簽庫 10.2.3 迭代標(biāo)簽迭代標(biāo)簽 1. 標(biāo)簽標(biāo)簽 (1)基本語法 使用標(biāo)簽的基本語法如下所示。 標(biāo)簽主體 (2)varStatus屬性 count:當(dāng)前元素在集合中的序號(hào),從1開始計(jì)數(shù)。 index:當(dāng)前元素在集合中的索引,從0開始計(jì)數(shù)。 first:當(dāng)前元素是否是集合中的第一個(gè)元素。 last:當(dāng)前元素是否是集合中的最后一個(gè)元素。 (3)屬性begin、end和step (4)遍歷的集合 通過標(biāo)簽可以遍歷集合,

7、此標(biāo)簽可以遍歷的集合包括如下兩大類。 java.util.Set、java.util.List、java.util.Map、java.util.Iterator和java.util.Enumeration接口的實(shí)現(xiàn)類。 Java數(shù)組。 以逗號(hào)(,)分隔的字符串。10.2 JSTL Core標(biāo)簽庫 2. 標(biāo)簽標(biāo)簽 使用簽的基本語法格式如下所示。 標(biāo)簽主體 10.2.4 和和URL相關(guān)的標(biāo)簽相關(guān)的標(biāo)簽 1. 標(biāo)簽標(biāo)簽 使用標(biāo)簽的語法格式如下所示。 2. 標(biāo)簽標(biāo)簽 標(biāo)簽的功能是按照特定的重寫規(guī)則重新構(gòu)造URL,其語法格式如下所示。 3. 標(biāo)簽標(biāo)簽 在Java Web中使用標(biāo)簽的語法格式如下所示。 1

8、0.3 I18N標(biāo)簽庫 10.3.1 標(biāo)簽標(biāo)簽 第1種是不帶body的格式: 10.3 I18N標(biāo)簽庫 第2種是帶有body的格式: 要被格式化處理的數(shù)字 10.3 I18N標(biāo)簽庫屬 性數(shù)據(jù)類型是否必選項(xiàng) 默認(rèn)值屬性值的說明valueString或數(shù)字是無要被格式化的數(shù)值typeString否number指定被格式化的數(shù)值的數(shù)據(jù)類型,只能是number、currency或percent中的一種patternString否無定制的格式模式currencyCodeString否 無ISO 4217標(biāo)準(zhǔn)中的貨幣代碼,僅當(dāng)格式化貨幣數(shù)據(jù)類型時(shí)有效currencySymbolString否無貨幣符號(hào),如

9、¥,僅當(dāng)格式化貨幣數(shù)據(jù)類型時(shí)有效groupingUsedboolean否true是否輸出分隔符,如:1,234,567maxIntegerDigitsint否無整數(shù)部分最多的整數(shù)位數(shù)minIntegerDigitsint否無整數(shù)部分最少的整數(shù)位數(shù)maxFractionDigits int否無小數(shù)部分最多的小數(shù)位數(shù)minIntegerDigitsint否無小數(shù)部分最少的小數(shù)位數(shù)varString否無存儲(chǔ)格式化處理輸出的結(jié)果字符串的變量scopeStrng否page屬性var中指定的變量的有效范圍10.3 I18N標(biāo)簽庫 10.3.2 標(biāo)簽標(biāo)簽 第1種格式是沒有body的: 第2種格式是帶有bod

10、y的: 被解析的字符串 10.3 I18N標(biāo)簽庫10.3.3 標(biāo)簽標(biāo)簽標(biāo)簽的功能是在JSP網(wǎng)頁中實(shí)現(xiàn)格式化時(shí)間和日期,使用標(biāo)簽的語法如下所示。10.3.4 標(biāo)簽標(biāo)簽第1種是不帶body的格式: 第2種是帶有body的格式: 被解析的字符串 10.3 I18N標(biāo)簽庫 10.3.5 標(biāo)簽標(biāo)簽 10.3.6 標(biāo)簽標(biāo)簽 body內(nèi)容(標(biāo)簽語句、Java程序、HTML代碼等) 10.3.7 標(biāo)簽標(biāo)簽 10.3 I18N標(biāo)簽庫 10.3.8 標(biāo)簽標(biāo)簽 標(biāo)簽的功能是設(shè)置請(qǐng)求中數(shù)據(jù)的字符集,使用標(biāo)簽的語法格式如下所示。 10.3.9 標(biāo)簽標(biāo)簽 標(biāo)簽的功能是創(chuàng)建一個(gè)資源綁定,并把這種綁定存放到一個(gè)變量中。使用標(biāo)

11、簽的語法格式如下所示。 10.3.10 標(biāo)簽標(biāo)簽 第1種是不帶body時(shí)的格式: 第2種是帶特定的消息參數(shù)body時(shí)的格式: 標(biāo)簽語句 10.3 I18N標(biāo)簽庫 10.3.11 標(biāo)簽標(biāo)簽 10.3.12 標(biāo)簽標(biāo)簽 標(biāo)簽的功能是為該標(biāo)簽體內(nèi)的代碼段設(shè)置一個(gè)消息資源。使用標(biāo)簽的語法格式如下所示。 處理消息的語句或其他程序語句 10.4 使用SQL標(biāo)簽庫 凡是要用到SQL標(biāo)簽庫的JSP頁面,均要使用指令設(shè)定prefix 和uri 的值。例如下面的代碼。 10.4.1 標(biāo)簽標(biāo)簽 使用標(biāo)簽的語法格式如下所示。 10.4 使用SQL標(biāo)簽庫10.4.2 標(biāo)簽和標(biāo)簽和標(biāo)簽標(biāo)簽1. 標(biāo)簽標(biāo)簽第1種是不帶body

12、的格式:第2種是帶有指定查詢參數(shù)的body的格式: 標(biāo)簽語句 第3種是帶有指定查詢和查詢參數(shù)選項(xiàng)的body的格式: SQL查詢語句 標(biāo)簽語句 10.4 使用SQL標(biāo)簽庫 2. 標(biāo)簽標(biāo)簽 標(biāo)簽用于設(shè)置數(shù)據(jù)庫操作標(biāo)簽語句中SQL語句中的參數(shù)值,嵌套的標(biāo)簽可以是、。 或: 參數(shù)值 3. 屬性介紹屬性介紹 其中最為常用的屬性如下所示。 (1)rows (2)rowsByIndex (3)columnNames (4)rowCount (5)limitedByMaxRows10.4 使用SQL標(biāo)簽庫 10.4.3 標(biāo)簽標(biāo)簽 第1種是不帶body的格式: 第2種是帶有指定SQL語句參數(shù)的body的格式:

13、標(biāo)簽語句 第3種是帶有指定的SQL語句和語句參數(shù)的body的格式: SQL語句 標(biāo)簽語句 10.4 使用SQL標(biāo)簽庫 10.4.4 標(biāo)簽標(biāo)簽 標(biāo)簽的功能是設(shè)置SQL語句中的java.util.Date類型參數(shù)的值,使用此標(biāo)簽的語法格式如下所示。 10.4.5 標(biāo)簽標(biāo)簽 標(biāo)簽的功能是為標(biāo)簽和標(biāo)簽實(shí)現(xiàn)事務(wù)處理。使用標(biāo)簽的語法格式如下所示。 標(biāo)簽和標(biāo)簽語句 10.5 函數(shù)標(biāo)簽 如果要使用函數(shù)標(biāo)簽庫中的函數(shù),需要在JSP頁面的首部加入如下代碼語句。 10.5.1 求長(zhǎng)度函數(shù)求長(zhǎng)度函數(shù) fn:length(要求元素個(gè)數(shù)的對(duì)象) 10.5.2 大小寫轉(zhuǎn)換函數(shù)大小寫轉(zhuǎn)換函數(shù) (1)函數(shù)toLowerCase

14、 fn:toLowerCase(要轉(zhuǎn)換的字符串) (2)toUpperCase fn:toUpperCase (要轉(zhuǎn)換的字符串) 10.5.3 求子串函數(shù)求子串函數(shù) (1)函數(shù)substring fn:substring(母串,開始下標(biāo),結(jié)束下標(biāo)) (2)函數(shù)substringAfter fn:substringAfter(母串,子串) (3)函數(shù)substringBefore fn:substringBefore(母串,子串)10.5 函數(shù)標(biāo)簽 10.5.4 去空白函數(shù)去空白函數(shù) fn:trim(要去掉左右空白字符的字符串) 10.5.5 替換函數(shù)替換函數(shù) fn:replace(母字符串, 要替換的子字符串,替換成的字符串) 10.5.6 查找函數(shù)查找函數(shù) (1)函數(shù)indexOf fn:indexOf(字符串,子字符串) (2)函數(shù)startsWith fn:startsWith(字符串1,字符串2) (3)函數(shù)endsWith fn:endsWith(字符串1,字符串2)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論