




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第8章 JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù)學(xué)前提示JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSPStandardTagLibrary,JSTL)是一個(gè)實(shí)現(xiàn)Web應(yīng)用程序中常見(jiàn)的通用功能的定制標(biāo)簽庫(kù)集,軟件工程師使用JSTL標(biāo)簽來(lái)避免在JSP頁(yè)面中使用腳本編制元素。本章將介紹JSTL的應(yīng)用基礎(chǔ),以及如何通過(guò)從表示層刪除源代碼來(lái)簡(jiǎn)化軟件的維護(hù)。知識(shí)要點(diǎn)JSTL概述Core標(biāo)簽庫(kù)i18nformatting標(biāo)簽庫(kù)數(shù)據(jù)庫(kù)標(biāo)簽庫(kù)28.1JSTL概述JSTL英文全稱是JSPStandardTagLibrary,即JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù)之意。它是由JCP(JavaCommunityProcess)制定的標(biāo)準(zhǔn)規(guī)范。是一組形如HTML的標(biāo)簽(Tag),使得讀者即使不需要學(xué)習(xí)Java也可以編寫(xiě)動(dòng)態(tài)Web頁(yè)。自從2002年中期發(fā)布后,它已成為JSP平臺(tái)的一個(gè)標(biāo)準(zhǔn)組成部分。JSTL是建立在JSP上的某種CustomActions(自定義操作)或CustomTags(自定義標(biāo)簽),表面看起來(lái)它只是JSP的一個(gè)插件,但事實(shí)上它也可以算是一種新的用于構(gòu)建動(dòng)態(tài)Web頁(yè)的語(yǔ)言。它提供了諸如循環(huán)、條件、數(shù)據(jù)庫(kù)訪問(wèn)、XML處理、國(guó)際化(i18n)等開(kāi)發(fā)上的工具和流程。JSTL目前最新的版本為1.2,是一個(gè)正在不斷開(kāi)發(fā)和完善的開(kāi)放源代碼的JSP標(biāo)簽庫(kù),它支持多種標(biāo)簽,在開(kāi)發(fā)中常用的有5種標(biāo)簽核心標(biāo)簽庫(kù)(Core)國(guó)際化/格式化標(biāo)簽庫(kù)(i18n)數(shù)據(jù)庫(kù)標(biāo)簽庫(kù)(SQL)XML標(biāo)簽庫(kù)(XML)Functions標(biāo)簽庫(kù)(Functions)38.1JSTL概述在學(xué)習(xí)JSTL標(biāo)簽庫(kù)之前,需要先下載JSTL所需要的JAR包。有兩種獲取方式。(1) 通過(guò)官方網(wǎng)站(/dist/jakarta/taglibs/standard/binaries/)下載,獲取API里面的jstl.jar、standard.jar。下載界面如圖8.1所示。(2) 使用MyEclipse自帶的驅(qū)動(dòng)包。在JavaEE5.0以上版本已經(jīng)集成了JSTL1.2,創(chuàng)建Web工程時(shí)會(huì)自動(dòng)導(dǎo)入JSTL的JAR包,如圖8.2所示。48.2Core標(biāo)簽庫(kù)核心標(biāo)簽庫(kù)主要包括通用標(biāo)簽、條件標(biāo)簽、迭代標(biāo)簽和與URL相關(guān)的標(biāo)簽。下面逐個(gè)來(lái)介紹這些標(biāo)簽。58.2.1通用標(biāo)簽1.<c:out>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法2.<c:set>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法3.<c:remove>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法4.<c:catch>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法68.2.2條件標(biāo)簽1.<c:if>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法2.<c:choose>、<c:when>、<c:otherwise>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法78.2.3迭代標(biāo)簽1.<c:forEach>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法2.<c:forTokens>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法88.2.4URL相關(guān)的標(biāo)簽1.<c:import>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法2.<c:url>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法3.<c:redirect>標(biāo)簽(1) 語(yǔ)法(2) 屬性(3) 用法4.<c:param>標(biāo)簽(1) 語(yǔ)法(2) 屬性98.2.5實(shí)例運(yùn)用實(shí)例——jstlinstance。前面列舉了常用JSTL核心庫(kù)中一些標(biāo)簽的用法,為了加強(qiáng)理解,下面通過(guò)一個(gè)實(shí)例來(lái)演示如何在程序中使用JSTLCore標(biāo)簽。這個(gè)例子主要是實(shí)現(xiàn)了對(duì)表增、刪、改、查的功能。先來(lái)看一下添加頁(yè)面,如圖8.15所示。添加頁(yè)面內(nèi)容比較簡(jiǎn)單,提供了三個(gè)文本框,分別來(lái)獲取用戶姓名、班級(jí)、分?jǐn)?shù)等數(shù)據(jù),并提供了“添加”、“重置”兩個(gè)功能按鈕和一個(gè)“查看全部”的鏈接。108.2.5實(shí)例運(yùn)用新建名為insert.jsp的頁(yè)面,頁(yè)面代碼如下:參見(jiàn)教材P281在添加頁(yè)輸入相應(yīng)的信息后,單擊“提交”按鈕,將提交程序處理頁(yè)面?zhèn)魅氲臄?shù)據(jù),數(shù)據(jù)正確地添加到數(shù)據(jù)庫(kù)后,將自動(dòng)轉(zhuǎn)到學(xué)生信息列表頁(yè),如圖8.16所示。118.2.5實(shí)例運(yùn)用新建名為select.jsp的頁(yè)面,頁(yè)面代碼如下:參見(jiàn)教材P282當(dāng)需要修改某學(xué)生的信息時(shí),單擊對(duì)應(yīng)的“編輯”鏈接,系統(tǒng)將先查詢出該學(xué)生的信息,然后轉(zhuǎn)到編輯頁(yè)面,如圖8.17所示。128.2.5實(shí)例運(yùn)用新建名為edit.jsp的頁(yè)面,頁(yè)面代碼如下:參見(jiàn)教材P283本小節(jié)講述了JSTLCore庫(kù)多種通用的定制標(biāo)簽,有些標(biāo)簽具有極高的使用價(jià)值。例如,URL和異常處理標(biāo)簽很好地補(bǔ)充了現(xiàn)有的JSP功能,迭代和條件操作使得無(wú)須編制腳本元素就能夠?qū)崿F(xiàn)復(fù)雜的表示邏輯。希望讀者能熟練地使用這些標(biāo)簽。138.3i18nformatting標(biāo)簽庫(kù)JSTL的國(guó)際化/格式化標(biāo)簽庫(kù)(i18n)功能也較強(qiáng)大,在項(xiàng)目開(kāi)發(fā)中,也較為常用,所以本小節(jié)就從實(shí)用的角度簡(jiǎn)要地講解這個(gè)標(biāo)簽庫(kù)中相關(guān)標(biāo)簽的用法。148.3.1國(guó)際化標(biāo)簽介紹國(guó)際化的含義是指將應(yīng)用程序中那些隨著地理區(qū)域的不同而不同的東西確定下來(lái),并提供一些方法,使得在應(yīng)用程序中可以根據(jù)情況使用這些東西的不同版本,而不是使用硬編碼的值?!皣?guó)際化”的英語(yǔ)單詞是internationalization,一般將其縮寫(xiě)為i18n,i18n意思是以i開(kāi)頭,中間有18個(gè)字母,并以一個(gè)n結(jié)尾。國(guó)際化(i18n)與格式化標(biāo)簽可用于創(chuàng)建國(guó)際化的Web應(yīng)用程序,它們可以對(duì)數(shù)字和日期時(shí)間進(jìn)行標(biāo)準(zhǔn)化。國(guó)際化的應(yīng)用程序支持多種語(yǔ)言。與前面的Core標(biāo)簽一樣,在使用標(biāo)簽前,需要先導(dǎo)入標(biāo)簽庫(kù),在JSP頁(yè)面中導(dǎo)入國(guó)際化標(biāo)簽庫(kù)的語(yǔ)法如下:<%@tagliburi="
/jsp/jstl/fmt"prefix="fmt"%>158.3.2幾種主要的國(guó)際化標(biāo)簽在JSTL之中的國(guó)際化標(biāo)簽主要包括<fmt:setLocale>、<fmt:bundle>、<fmt:setBundle>、<fmt:message>、<fmt:param>和<fmt:requestEncoding>,它們的含義如下所示。<fmt:setLocale>:指定Locale環(huán)境。<fmt:bundle>:指定消息資源使用的文件。<fmt:setBundle>:設(shè)置消息資源文件。<fmt:message>:顯示消息資源文件中指定key的消息,支持帶參數(shù)消息。<fmt:param>:給帶參數(shù)的消息置參數(shù)值。<fmt:requestEncoding>:設(shè)定請(qǐng)求的字符編碼。168.3.3國(guó)際化標(biāo)簽示例采用國(guó)際化標(biāo)簽的頁(yè)面如圖8.18所示。178.3.3國(guó)際化標(biāo)簽示例實(shí)現(xiàn)頁(yè)面國(guó)際化的效果需要按以下步驟進(jìn)行。(1) 創(chuàng)建頁(yè)面需要的資源文件。① labels_perties② labels_perties(2) 將資源文件內(nèi)容轉(zhuǎn)碼。(3) 創(chuàng)建頁(yè)面文件。(4) 發(fā)布項(xiàng)目,運(yùn)行服務(wù)器。刷新頁(yè)面,執(zhí)行效果如圖8.20所示。188.3.3國(guó)際化標(biāo)簽示例實(shí)現(xiàn)國(guó)際化效果還可以使用<fmt:bundle>標(biāo)簽,通過(guò)以下步驟可以完成此效果。(1) 修改頁(yè)面文件。實(shí)現(xiàn)以上同樣的效果,只需將JSP頁(yè)面的代碼修改即可,具體如下所示:參見(jiàn)教材P292(2) 設(shè)置語(yǔ)言選項(xiàng)。執(zhí)行“開(kāi)始”→“程序”→“InternetExplorer”命令,打開(kāi)IE瀏覽器,選擇“工具”→“Internet選項(xiàng)”菜單命令,在彈出的“Internet選項(xiàng)”對(duì)話框中單擊“語(yǔ)言”按鈕,修改語(yǔ)言的首選項(xiàng),如圖8.21所示。198.3.3國(guó)際化標(biāo)簽示例(3) 啟動(dòng)容器。啟動(dòng)Tomcat,在地址欄中輸入“http://localhost:8080/jstldemo/fmt_setbundle.jsp”,如果設(shè)置的語(yǔ)言的首選項(xiàng)為英語(yǔ),則顯示英文版的頁(yè)面,如果首選語(yǔ)言為中文,則顯示中文頁(yè)面,效果如圖8.22所示。208.3.4格式化標(biāo)簽JSTL中的格式化標(biāo)簽主要有<fmt:timeZone>、<fmt:setTimeZone>、<fmt:formatNumber>、<fmt:parseNumber>、<fmt:formatDate>和<fmt:parseDate>。它們的含義如下。<fmt:timeZone>:解析時(shí)間。<fmt:setTimeZone>:設(shè)置時(shí)區(qū)。<fmt:formatNumber>:格式化數(shù)字。<fmt:parseNumber>:解析一個(gè)數(shù)字,并將結(jié)果作為Number類的實(shí)例返回。<fmt:formatDate>:標(biāo)簽將日期和時(shí)間格式化為本地的格式。<fmt:parseDate>:用于將日期或時(shí)間的字符串解析為Date對(duì)象。218.4數(shù)據(jù)庫(kù)標(biāo)簽庫(kù)數(shù)據(jù)庫(kù)標(biāo)簽庫(kù)——包含被用來(lái)訪問(wèn)SQL數(shù)據(jù)庫(kù)的標(biāo)簽。在實(shí)際的開(kāi)發(fā)中,很少會(huì)直接從JSP頁(yè)面中來(lái)處理數(shù)據(jù)庫(kù)訪問(wèn)。通過(guò)一個(gè)簡(jiǎn)單示例講解數(shù)據(jù)庫(kù)標(biāo)簽的相關(guān)用法。首先,先建立好person數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中創(chuàng)建userinfo表,表的結(jié)構(gòu)及初始化數(shù)據(jù)可查看SQL代碼:參見(jiàn)教材P303新建名為jstlSqldemo.jsp的頁(yè)面,它來(lái)實(shí)現(xiàn)訪問(wèn)數(shù)據(jù)庫(kù)的功能,代碼清單如下:參見(jiàn)教材P303228.4
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業(yè)院校國(guó)際化辦學(xué)的策略及實(shí)施路徑
- 河南公務(wù)員行測(cè)(C類)真題及答案
- 2024年運(yùn)城芮城縣公益崗招聘真題
- 2024年蕪湖市弋江區(qū)社區(qū)工作者真題
- 密碼學(xué)課程中的思政教學(xué)改革實(shí)踐與探索
- 重慶公路運(yùn)輸有限公司招聘筆試真題2024
- 唐山市易新建筑科技有限責(zé)任公司招聘筆試真題2024
- 隴南市事業(yè)單位招聘筆試真題2024
- 2024年河北省第七人民醫(yī)院招聘真題
- 信用承諾管理制度
- 中醫(yī)內(nèi)科學(xué)消渴課件
- 《行政執(zhí)法基礎(chǔ)知識(shí)》課件
- 信息安全保密教育培訓(xùn)課件
- 燈具安裝協(xié)議
- 工業(yè)機(jī)器人視覺(jué)20
- TL226 大眾試驗(yàn)測(cè)試標(biāo)準(zhǔn)
- 毛澤東思想和中國(guó)特色社會(huì)主義理論體系概論(復(fù)旦大學(xué))智慧樹(shù)知到課后章節(jié)答案2023年下復(fù)旦大學(xué)
- 關(guān)于退租的申請(qǐng)書(shū)
- 吳川市中醫(yī)院新增數(shù)字減影裝置(DSA)項(xiàng)目環(huán)境影響報(bào)告表
- 石材幕墻施工組織設(shè)計(jì)背栓SE掛件
- 電氣工程主要材料損耗率及預(yù)留長(zhǎng)度
評(píng)論
0/150
提交評(píng)論