




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第五章JSTL與標(biāo)簽函數(shù)庫第1頁JSPStandardTaglibraryJSPStandardTagLibrary(簡稱JSTL),是一套預(yù)先定義好、幫助程序設(shè)計(jì)人員簡化JSP網(wǎng)頁制作標(biāo)簽函數(shù)庫,包含了各種網(wǎng)頁運(yùn)行所需利用,如循環(huán)、流程控制、輸出/輸入、文本格式化,XML文件處理及數(shù)據(jù)庫訪問操作。JSTL即使是JSP網(wǎng)頁技術(shù)一環(huán),但JSTL本身并非由SUN企業(yè)所開發(fā),而是在SUN制訂其標(biāo)準(zhǔn)后,將其標(biāo)準(zhǔn)提供給外界進(jìn)行開發(fā)。當(dāng)前提供相關(guān)標(biāo)準(zhǔn)開發(fā)應(yīng)用主要組織為ApacheJakartaProject。用戶無法直接使用JSTL,而應(yīng)先到JakartaProject網(wǎng)站上下載JSTL并安裝。首先介紹JSTL包含元素。按其功效劃分,JSTL提供了5種類型標(biāo)簽函數(shù)庫,以下表所表示。第2頁表5-1JSTL標(biāo)簽函數(shù)庫JSTL標(biāo)簽種類說明關(guān)鍵標(biāo)簽包含JSTL關(guān)鍵操作所需標(biāo)簽,比如數(shù)據(jù)輸出、循環(huán)流程控制及URL操作等i18n國際化格式標(biāo)簽進(jìn)行數(shù)值與日期數(shù)據(jù)格式化、國際化資源網(wǎng)頁等設(shè)置所需標(biāo)簽SQL標(biāo)簽利用SQL與操作資源庫所需標(biāo)簽XML標(biāo)簽剖析XML文件所需標(biāo)簽函數(shù)標(biāo)簽包含字符串處理與其它特定功效JSTL標(biāo)簽第3頁設(shè)置JSTL運(yùn)行環(huán)境JSTL下載地址以下:/dist/jakarta/taglibs/standard/下載文件是一個壓縮文件jakarta-taglibs-standard-current.zip。解壓該文件,得到一個名稱為jakarta-taglibs-standard-1.1.2文件夾,其中包含一個lib文件夾,里面有使用JSTL所需兩個文件,jstl.jar和standard.jar,將其復(fù)制到Tomcat網(wǎng)站根目錄下用戶自己應(yīng)用文件夾下WEB-INF\lib中,重新開啟Tomcat后,就可使用JSTL。但需要將相關(guān)tld文件也放到WEB-INF目錄下。以下列圖所表示:第4頁第5頁使用JSTL前,必須引用taglib指令申明網(wǎng)頁所使用標(biāo)簽種類,語法以下:<%@taglibprefix=“tabName”uri=“uriString”%> 其中包含兩個屬性設(shè)置,第一個prefix代表標(biāo)簽種類前綴詞,第二個uri則是標(biāo)簽URI,prefix屬性值設(shè)置為tabName,表示所要使用標(biāo)簽,uriString則是對應(yīng)此標(biāo)簽URI。下表列舉了使用各種類型標(biāo)簽所需前綴詞和URI。第6頁表5-2使用標(biāo)簽所需前綴詞和URIJSTL標(biāo)簽種類前綴詞URI關(guān)鍵標(biāo)簽c/jsp/jstl/coreil8n國際化格式標(biāo)簽fmt/jsp/jstl/fmtSQL標(biāo)簽sql/jsp/jstl/sqlXML標(biāo)簽xml/jsp/jstl/xml函數(shù)標(biāo)簽fn/jsp/jstl/functions第7頁JSTL為JSP提供了廣泛功效,其中SQL與XML這兩個部分將在本書后續(xù)討論相關(guān)主題部分作詳細(xì)說明。接下來從關(guān)鍵標(biāo)簽開始,介紹JSTL實(shí)際應(yīng)用。
第8頁使用關(guān)鍵標(biāo)簽關(guān)鍵標(biāo)簽提供了普通性語言功效,如變量、循環(huán)、流程控制及基本輸出、輸入,同時包含URL相關(guān)操作,此標(biāo)簽以字母c為前綴詞,以下面程序片段:<c:outvalue=“outputString”/>其中<c:out>功效是:輸出特定數(shù)據(jù)內(nèi)容而且將其顯示在網(wǎng)頁上。其它關(guān)鍵標(biāo)簽還包含<c:set>、<c:forEach>及<c:url>等,標(biāo)簽開頭字符c表示此為關(guān)鍵(core)標(biāo)簽。下表是一些慣用關(guān)鍵標(biāo)簽。第9頁表5-3關(guān)鍵標(biāo)簽分類標(biāo)簽說明普通行為out將指定數(shù)據(jù)內(nèi)容輸出至網(wǎng)頁上set將指定數(shù)據(jù)內(nèi)容存放至指定變量remove去除指定變量數(shù)據(jù)內(nèi)容catch捕捉程序異常URL處理import載入外部文件url設(shè)置一個超級鏈接地址redirect轉(zhuǎn)向網(wǎng)頁param設(shè)置地址參數(shù)流程控制ifif流程判斷式whenoherwisechoose多重選擇判斷式循環(huán)forEach對象集合迭代列舉操作forTokens解析以標(biāo)識符號分隔符串第10頁存取網(wǎng)頁數(shù)據(jù)關(guān)鍵標(biāo)簽中out、set和remove,與網(wǎng)頁上數(shù)據(jù)存取有親密關(guān)系。<c:out>標(biāo)簽:將指定數(shù)據(jù)輸出至客戶端,作用與<%:…>類似,而所要輸出值一樣能夠Expression形式表示。<c:out>語法以下所表示:上表列出了JSTL中可用關(guān)鍵標(biāo)簽,依標(biāo)簽功效分為四大類。后面兩類流程控制、循環(huán)與Java語言含有相同功效,前兩種分類則是用于網(wǎng)頁URL控制與數(shù)據(jù)訪問操作。第11頁語法1:未包含主體(body)<c:outvalue="value"[escapeXml="{true|false}"][default="defaultValue"]/>語法2:包含主體(body)<c:outvalue="value"[escapeXml=“{true|false}”]>defaultvalue</c:out><c:out>語法包含三個屬性,其中value為必要屬性值,其它兩個escapeXml及default為可選,以下表所表示:第12頁表5-4<c:out>屬性屬性動態(tài)類型說明value是Object輸出內(nèi)容描述escapeXml是boolean是否轉(zhuǎn)換特殊字符default是Object當(dāng)輸出結(jié)果為null時,指定默認(rèn)值除了必須指定value外,escapeXml用來指定是否轉(zhuǎn)換特殊字符,<c:out>在默認(rèn)狀態(tài)下,會將一些特殊字符,比如<、>、&等,轉(zhuǎn)換成為其對應(yīng)碼,以能正確顯示在網(wǎng)頁中。假如想防止這種轉(zhuǎn)換,escapeXml必須設(shè)為false。轉(zhuǎn)換字符以下表所表示。第13頁表5-5轉(zhuǎn)換字符字符EntityCode<<>>&&''""注意:escapeXml作用是是否將代碼交給xml解析器解釋,true為交給xml解析器解釋,false為交給瀏覽器解釋第14頁屬性default指定<c:out>進(jìn)行輸出時默認(rèn)值,假如value本身是null,default值將用來替換value進(jìn)行輸出,這個值一樣能夠省略,其內(nèi)定值為空字符串。例1使用<c:out>標(biāo)簽(usingout.jsp)<%@pagecontentType="text/html"%><%@pagepageEncoding="GB2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>演示out標(biāo)簽</title></head><body><c:outvalue="這是<c:out>輸出文字"/><br><c:outvalue="這是<c:out>輸出文字[escapeXml設(shè)為false]" escapeXml="false"/><br></body></html>第15頁第3行申明了此范例網(wǎng)頁將使用以c為前綴JSTL關(guān)鍵標(biāo)簽,第7-9行分別引用<c:out>輸出指定字符串,第9行將escapeXml屬性設(shè)置為false,用戶能夠從如圖所表示運(yùn)行結(jié)果中了解其中差異。usingout.jsp運(yùn)行結(jié)果
第16頁<c:set>與<c:remove>標(biāo)簽<c:set>將某特定值設(shè)置給一個屬于特定范圍變量或是目標(biāo)對象屬性,這些特定值被設(shè)置之后存放在變量或?qū)ο笾小?lt;c:set>語法以下四種形式:語法1:將value值存放至范圍變量varName<c:setvalue=“value”var=“varName”[scope=“{page|request|session|application}”]/>語法2:將本體(body)內(nèi)容設(shè)置后存放到范圍變量varName<c:setvar=
"varName"[scope=
"{page|request|session|application}”]>bodycontent</c:set>第17頁語法3:將value值存放至目標(biāo)對象target屬性propertyName<c:setvalue=“value”target=“target”property=“propertyName”/>語法4:將本體(body)內(nèi)容設(shè)置存放至目標(biāo)對象target屬性propertyName
<c:settarget="target"property="propertyName">bodycontent</c:set><c:set>標(biāo)簽依其行為特征,提供了四種語法,前兩種分別用來存放一個特定值至范圍變量,而所要存放值能夠是一個單一值或是本體(body)內(nèi)容,一樣,后兩種語法能夠進(jìn)行相同行為,只是其值存放對象為一對象特定屬性。<c:set>標(biāo)簽屬性以下表所表示。第18頁表5-6<c:set>標(biāo)簽屬性屬性動態(tài)動態(tài)動態(tài)value是Object設(shè)置值var否String存放設(shè)置值變量名稱scope否Stringvar范圍target是Object屬性將被設(shè)置目標(biāo)對象property是String目標(biāo)對象屬性除value外,var代表<c:set>標(biāo)簽第1種及第2種語法中所要設(shè)置值變量,scope為此變量范圍,target則是第1種及第2種語法中設(shè)置值目標(biāo)對象,而value會被存放至此對象指定property中。第19頁<%@pagecontentType="text/html"%><%@pagepageEncoding="GB2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>演示var屬性</title></head><body><c:setvalue="設(shè)置字符串"var="varString"/><tableborder="1"width="100%"><tr><tdwidth="100%">${varString}</td>//EL語句</tr></table></body></html>演示<c:set>標(biāo)簽(Usingset.jsp)第20頁程序代碼第8行引用<c:set>指令,設(shè)置其value值為設(shè)置字符串,而且將此值內(nèi)容存放至varString變量,第10至第14行為HTML標(biāo)簽,在網(wǎng)頁當(dāng)中繪制一個單一行表格,而第12行EL語句,將變量varString內(nèi)容,顯示在表格當(dāng)中。運(yùn)行結(jié)果如圖所表示。usingset.jsp運(yùn)行結(jié)果第21頁<%@taglibprefix="c"uri="/jsp/jstl/core"%><%@pagecontentType="text/html;charset=gb2312"language="java"%><html><head><title>JSTL:c:out使用</title></head><bodybgcolor="#FFFFFF"><hr><c:setvar="sessionAttr"value="sessionValue"scope="session"/><c:setvar="pageAttr"value="pageValue"scope="page"/><c:setvar="requestAttr"value="requestValue"scope="request"/><c:outvalue="以下輸出是前面設(shè)置屬性<br>"escapeXml="false"/><c:outvalue="${sessionAttr}"/><c:outvalue="${pageAttr}"/><c:outvalue="${requestAttr}"/><c:outvalue="${test_nodef}"default="沒有test_nodef這個變量"/></html>例:第22頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>演示var屬性</title></head><body><c:setvar="varString"value="/"/><ahref=${varString}>網(wǎng)易</a></tr></table></body></html>第23頁<c:remove>標(biāo)簽該標(biāo)簽用來移除某個范圍變量內(nèi)容值,語法以下:<c:removevar=“varName”[scope=“{page|request|session|application}]/><c:remove>與<c:set>語法沒有太大差異,其中var則是所要移除內(nèi)容值變量。第24頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>移除變量</title></head><body><c:setvalue="設(shè)置字符串"var="varString"/><tableborder="l"width="100%"><tr><tdwidth="100%">${varString}</td></tr></table><c:removevar="varString"/><tableborder="1"width="100%"><tr><tdwidth="100%">${varString}</td></tr></table></body></html>例:<c:remove>標(biāo)簽(usingRemove.jsp)第25頁usingRemove.jsp運(yùn)行結(jié)果
第26頁<c:catch>標(biāo)簽當(dāng)網(wǎng)頁發(fā)生錯誤時,<c:catch>標(biāo)簽用來取得錯誤信息,并進(jìn)行適當(dāng)處理,防止網(wǎng)頁出現(xiàn)無法了解內(nèi)容。語法以下:<c:catch[var=“varName”]>nestedactions</c:catch>nestedactions:可能發(fā)生錯誤網(wǎng)頁內(nèi)容var:存放當(dāng)錯誤發(fā)生時,與錯誤相關(guān)信息內(nèi)容。編寫一段可能在運(yùn)行期間產(chǎn)生錯誤表示式,將其放在<c:catch>及</c:catch>所形成區(qū)域中。當(dāng)此段表示式發(fā)生錯誤時,系統(tǒng)會截取錯誤內(nèi)容,而且將其存放至var變量,設(shè)計(jì)人員能夠經(jīng)過此變量了解錯誤內(nèi)容,并進(jìn)行適當(dāng)處理。第27頁<%@pagecontentType="text/html"%><%@pagepageEncoding="GB2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>JSPPage</title></head><body><c:catchvar="exception"><%
int[]a={1,2,3};
intb=0;
for(inti=0;i<4;i++){b+=a[i];}%></c:catch><c:outvalue="${exception}"/></body></html>演示<c:catch>標(biāo)簽(UsingcCatch.jsp)第28頁范例第7-15行,為<c:catch></catch>塊程序內(nèi)容,第9行申明一個長度等于3int類型數(shù)組,緊接著程序使用一個循環(huán)依序取出數(shù)組值作計(jì)算,因?yàn)檠h(huán)次數(shù)大于數(shù)組長度,所以將產(chǎn)生網(wǎng)頁運(yùn)行錯誤。程序第16行將存放錯誤信息內(nèi)容字符串execption輸出至網(wǎng)頁上,得到數(shù)組索引超出范圍異常。結(jié)果以下列圖所表示。網(wǎng)頁運(yùn)行結(jié)果顯示錯誤發(fā)生原因,因?yàn)槭褂昧?lt;c:catch>標(biāo)簽,所以并沒有雜亂原始錯誤內(nèi)容。第29頁UsingcCatch.jsp運(yùn)行結(jié)果
第30頁建立URL關(guān)鍵標(biāo)簽中與URL運(yùn)作相關(guān)標(biāo)簽有四個:import、url、redirect和param,而其中param作為其它三個標(biāo)簽參數(shù)設(shè)置。URL代表某個特定網(wǎng)絡(luò)資源地址,可能是一個網(wǎng)頁、一張圖片、甚至是一份pdf文件。用戶經(jīng)過<c:url>標(biāo)簽,在JSP網(wǎng)頁動態(tài)指定一個網(wǎng)址字符串。此標(biāo)簽兩種語法以下:語法1:無本體內(nèi)容<c:urlvalue=“value”[context=“context”][var=“varName”][scope=“{page|request|session|application}”]/>第31頁語法2:用本體內(nèi)容指定數(shù)字符串<c:urlvalue=“value”[context=“context”][var=“varName”][scope=“{page|request|session|application}”]><c:param>subtags</c:url><c:url>標(biāo)簽代表一個網(wǎng)址字符串,它同時提供了四個屬性,可供深入設(shè)置URL相關(guān)特征,以下表所表示。第32頁表5-7<c:url>標(biāo)簽屬性屬性動態(tài)類型說明value是String指定操作URLcontext是String網(wǎng)站外部內(nèi)容設(shè)置值,一個URL資源相對位置var否String輸出范圍變量名稱scope否Stringvar范圍第33頁value代表所要設(shè)置網(wǎng)頁資源位置,除value必須指定外,其它3個屬性均為可選,context用來指定一個外部資源,var代表一個變量,假如有指定,URL資源內(nèi)容將被輸出至指定變量,最終,Scope則是變量范圍,var變量只在這個范圍里面有效。下例使用<c:url>標(biāo)簽建立至網(wǎng)易超級鏈接。第34頁<%@pagecontentType="text/html"%><%@pagepageEncoding="gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>JSPPage</title></head><body><palign="center"><b><fontsize="7"><br><ahref=<c:urlvalue=""/>>網(wǎng)易</a></font></b></p><body></html>例5usingurl.jsp第35頁第9行程序引用<c:url>標(biāo)簽,指定所在位置URL,作為HTML標(biāo)簽IMG圖片起源。運(yùn)行結(jié)果如圖所表示。usingurl.jsp運(yùn)行結(jié)果第36頁單擊其中超級鏈接,則能夠立刻打開Google網(wǎng)站首頁。<c:url>除了用來建立URL外,經(jīng)過第2種語法,結(jié)合<c:param>標(biāo)簽,還能夠?qū)⒅付〝?shù)值連接URL一并傳遞,緊接著下一個小節(jié)內(nèi)容將針對這一部分進(jìn)行說明。第37頁<c:param>標(biāo)簽動態(tài)網(wǎng)頁依據(jù)客戶端所傳參數(shù)內(nèi)容,決定響應(yīng)網(wǎng)頁內(nèi)容,而<c:param>就是用來指定各種URL操作所需參數(shù)。<c:param>標(biāo)簽兩種語法以下:語法1將屬性值指定給value屬性<c:paramname=“name”value=“value”/> 語法2:將屬性值指定給本體內(nèi)容 <c:paramname=“name”> parametervalue </c:param>在<c:param>標(biāo)簽語法中,可將其值指定給value屬性,或本體內(nèi)容。一旦設(shè)置完成,這個標(biāo)簽值便可深入利用在上述url標(biāo)簽中,或是稍后將說明網(wǎng)頁重新定向操作。<c:param>標(biāo)簽屬性如表所表示。第38頁表5-8<c:param>標(biāo)簽屬性屬性動態(tài)類型說明name是String參數(shù)名稱value是String參數(shù)值第39頁表格內(nèi)容為參數(shù)名稱及參數(shù)內(nèi)容值,當(dāng)用戶在使用這個標(biāo)簽時候,必須指定name屬性,不然標(biāo)簽將不會有任何操作,若是value指定為null,則輸出一個空值。<c:param>標(biāo)簽放在<c:url>主體內(nèi)容中,可用來設(shè)置連接所要傳遞參數(shù)內(nèi)容,如以下程序片段:<c:urlvalue=”urlstring”><c:paramname="firstPara“value="123456”/></c:url>其中<c:param>所指定參數(shù)值firstPara,將與URL字符串一并被送出,所以用戶將會看到形式以下網(wǎng)址欄:urlstring?FirstPara=123456第40頁<%@pagecontentType="text/html"%><%@pagepageEncoding="GB2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>JSPPage</title></head><body><br><palign="center"><b><fontsize="7"><br><ahref=<c:urlvalue="http://www.谷歌.cn/id=1271"><c:paramname="NO"value="PG4"/></c:url>>到GooGle去</a></p></body></html>例:<c:param>標(biāo)簽(usingurlparam.jsp)第41頁這個范例修改了上—個范例中<c:uri>標(biāo)簽內(nèi)容程序代碼。其中<c:param>標(biāo)簽,指定了—個參數(shù)NO,同時設(shè)置其值為PG4。這個參數(shù)值連同<c:url>標(biāo)簽當(dāng)中所指定value值,一并被傳送至網(wǎng)站服務(wù)器,整個URL字符串以下:http://www.谷歌.cn/id=1271&NO=PG4第42頁<c:import>標(biāo)簽-載入外部文件import關(guān)鍵字在page指令里曾經(jīng)出現(xiàn)過,它用來載入與java包相關(guān)網(wǎng)頁外部資源。<c:import>標(biāo)簽提供類似功效,但載入資源內(nèi)容是用URL表示外部文件。<c:import>標(biāo)簽語法以下所表示:語法1:載入數(shù)據(jù)內(nèi)容直接嵌入標(biāo)簽或輸出為String對象<c:importurl="url"[context=
"context"][var="varName"][scope="{page|request|session|application}"
][charEncoding="charEncoding"]>optionalbodycontentfor<c:param>subtags</c:import>
第43頁語法2:載入數(shù)據(jù)內(nèi)容直接輸出為Reader對象<c:importurl="url"[context=“context”]varReader="varReaderName"[charEncoding=“charEncoding”]>bodycontentwherevarReaderisconsumedbyanotheraction</c:import>第44頁<c:import>標(biāo)簽語法有兩種形式,第1種語法將載入文件內(nèi)容存放在指定字符串變量中;第2種語法則直接輸出為一個IO對象Reader。除了url,<c:import>標(biāo)簽屬性均為選擇性,除非使用第2種語法,則必須指定用來存放載入內(nèi)容Reader對象屬性varReader。與IO相關(guān)部分在本書第10章中將深入說明。<c:import>標(biāo)簽屬性如表所表示。第45頁表5-9<c:import>標(biāo)簽屬性屬性動態(tài)類型說明url是String載入資源URLcontext是String網(wǎng)站外部內(nèi)容設(shè)置值var否String輸出范圍變量名稱scope否Stringvar范圍charEncoding是String載入文件字符編碼varReader否String輸出Reader對象名稱第46頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>演示import</title></head><body><%request.setCharacterEncoding("gb2312");%><c:importurl="importFile.jsp"/><br><br>jhghgfyujfggfh<br></body></html>
演示<c:import>標(biāo)簽Usingimport.jsp第47頁第8行引用<c:import>標(biāo)簽,將位于當(dāng)前文件位置子目錄theFile中網(wǎng)頁文件importFile.jsp內(nèi)容導(dǎo)入網(wǎng)頁中,其內(nèi)容以下:importFile.jsp<%@pagepageEncoding="GB2312"%><html><body><%request.setCharacterEncoding("gb2312");%>importfile測試文字</body></html>運(yùn)行結(jié)果顯示如圖5-6所表示,被指定載入網(wǎng)頁成為當(dāng)前網(wǎng)頁內(nèi)容一部分。第48頁Usingimport.jsp運(yùn)行結(jié)果
第49頁若用戶只想取得載入內(nèi)容,然后在需要時候再進(jìn)行引用,則可指定var屬性。當(dāng)設(shè)置了var后,載入網(wǎng)頁內(nèi)容會存放至val屬性所設(shè)置變量。例8引用var(Usingvar/usingvar.jsp)<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>演示var屬性</title></head><body><c:importurl="importFile.jsp"var="varString"/><tableborder="1"width="100%"><tr><tdwidth="100%">${varString}</td></tr></table></body></html>將文件內(nèi)容存放至變量varString中。第50頁程序代碼第8行引用<c:import>標(biāo)簽,載入外部文件importFile.jsp,而且指定var屬性,將文件內(nèi)容存放至變量varString中。第10至第14行為單行HTML標(biāo)簽,其中第12行EL將變量varString內(nèi)容輸出至網(wǎng)頁上HTML表格內(nèi),varString存放了文件importFile.jsp內(nèi)容。Usingvar/theFile/importFile.JspJSPStandardTagLibrary-fromimportFile當(dāng)設(shè)置了var屬性之后,載入文件并不會馬上顯示在網(wǎng)頁上,而是存放在var指定變量中,設(shè)計(jì)人員能夠決定何時引用其內(nèi)容。其運(yùn)行結(jié)果如圖5-7所表示。第51頁<c:redrect>標(biāo)簽-重新定向網(wǎng)頁
<c:redirect>按照客戶端要求,重新定向至一個指定URL地址,該地址能夠是絕對地址也能夠?yàn)橄鄬Φ刂贰?lt;c:redirect>標(biāo)簽語法以下所表示:語法1:無主體(body)內(nèi)容<c:redirecturl="value”[context="context”]/>語法2:指定搜尋字符串參數(shù)主體內(nèi)容<c:redirecturl=“value”[context=“context”]/><c:param>subtags</c:redirect>在<c:redirect>語法當(dāng)中,url參數(shù)代表所要轉(zhuǎn)向URL地址,當(dāng)在網(wǎng)頁當(dāng)中設(shè)置<c:redirect>標(biāo)簽而且指定了其url參數(shù)后,在網(wǎng)頁運(yùn)行時,將轉(zhuǎn)向此url所代表目標(biāo)地址。第52頁<%@pagecontentType="text/html"%><%@pagepageEncoding="UTF-8"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>JSPPage</title></head><body><c:redirecturl="http://www.谷歌.cn"/></body></html><c:redirect>標(biāo)簽示例(usingredirect.jsp)結(jié)果以下列圖所表示:第53頁第54頁第8行引用<c:redirect>標(biāo)簽,而且設(shè)置其url網(wǎng)址,當(dāng)該網(wǎng)頁被瀏覽時候,將直接顯示谷歌網(wǎng)站首頁。<c:redirect>如同前述url標(biāo)簽,提供context屬性,同時接收<c:param>標(biāo)簽作為其主體內(nèi)容,假如指定<c:param>標(biāo)簽,其設(shè)置值將附加至網(wǎng)址字符串末端成為傳遞至表單參數(shù)。第55頁<%@pagecontentType="text/html
"%><%@pagepageEncoding="GB2312"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core”%><html><head><title>傳遞網(wǎng)頁轉(zhuǎn)向參數(shù)</title></head><body><c:redirecturl="http://www.谷歌.cn"><c:paramname=“NO”value=“PG4”/></c:redirect></body></html>上例第8行指定了url位置,第9行設(shè)置<c:param>標(biāo)簽,而且指定參數(shù)名稱與參數(shù)值,在瀏覽器中查看此網(wǎng)頁,會發(fā)覺真正顯示是url屬性所表示網(wǎng)頁,同時在網(wǎng)址欄后面連接參數(shù)值字符串。傳遞網(wǎng)頁轉(zhuǎn)向參數(shù)(usmgredirectpara.jsp)第56頁流程控制在關(guān)鍵標(biāo)簽中,if、choose和when,提供了流程控制功效。<c:if>與Java中if功效相同;<c:choose>用于多重判斷,它本身是一個框架,判斷內(nèi)容則由<c:when>和<c:otherwise>兩個標(biāo)簽實(shí)際操作。假如網(wǎng)頁中只需要單一判斷,可直接使用<c:if>標(biāo)簽。<c:if>標(biāo)簽語法以下:第57頁語法1:無本體內(nèi)容<c:iftest="testCondition"var="varName"[scope=''{page[request|session|application}"]/>語法2:包含本體內(nèi)容<c:iftest="testCondition"[var="varName"][scope=“{page|request|session|application}"]>bodycontent</c:if>第58頁使用<c:if>標(biāo)簽必須提供條件判斷式test,設(shè)計(jì)人員能夠依據(jù)此判斷式結(jié)果,設(shè)計(jì)不一樣運(yùn)行流程。<c:if>標(biāo)簽提供了兩種不一樣語法,其中第1種不包含主體內(nèi)容,假如程序只是想要取得判斷結(jié)果,可使用這種語法,反之能夠?qū)⑾胍\(yùn)行內(nèi)容放在<c:if>區(qū)塊當(dāng)中。<c:if>標(biāo)簽屬性如表所表示。第59頁表5-10<c:if>標(biāo)簽屬性屬性動態(tài)類型說明test是boolean載入資源URLvar否String輸出判斷結(jié)果范圍變量名稱scope否Stringvar范圍除了test,<c:if>標(biāo)簽屬性與關(guān)鍵標(biāo)簽類似,var用來存放判式輸出結(jié)果。在設(shè)置var值后,則此變量可用在網(wǎng)頁其它地方作為判斷之用。第60頁<%@taglibprefix="c"uri="/jsp/jstl/core"%><%@pagecontentType="text/html;charset=gb2312"%><html><head><title>JSTL:c:if使用</title></head><body><c:setvar="count"value="100"/><c:iftest="${count>78}">count>78</c:if></body></html>例:第61頁<%@taglibprefix="c"uri="/jsp/jstl/core"%><%@pagecontentType="text/html;charset=gb2312"language="java"%><html><head><title>JSTL:c:if使用</title></head><body><c:iftest="${100>78}"var="result"><c:outvalue="${'100確實(shí)大于78'}"></c:out></c:if><br><br><br><br></body></html>演示<c:if>標(biāo)簽(usingif.jsp)第62頁第7~13行程序塊,使用了兩個<c:if>標(biāo)簽,分別返回true和false判斷式,從網(wǎng)頁運(yùn)行結(jié)果當(dāng)中,能夠看到其中判斷式為true者內(nèi)容顯示至網(wǎng)頁上,也就是“4確實(shí)比2大”消息正文,如圖5-8所表示。usingif.jsp運(yùn)行結(jié)果下面修改程序代碼內(nèi)容,建立另外一個范例。經(jīng)過設(shè)置var,更加好地利用判斷式。第63頁<%@pagecontentType="text/html"%><%@pagepageEncoding="GB2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>演示if標(biāo)簽var屬性</title></head><body><c:iftest="${4>2}"var="result"/><c:iftest="${result==true}"><c:outvalue="${'4確實(shí)比2大'}"/></c:if><c:iftest="${4<2}"var="result"/><c:iftest="${result==true}"><c:outvalue="${'4確實(shí)比2大'}"/></body></html>演示<c:if>標(biāo)簽-使用var(usingifvar.jsp)第64頁范例第8行是一個沒有主體內(nèi)容<c:if>標(biāo)簽,其中var屬性設(shè)置result,存放了表示式結(jié)果;第10至第12行,判斷式檢驗(yàn)變量result,當(dāng)這個變量為true時候,顯示指定信息內(nèi)容。標(biāo)簽<c:choose>在網(wǎng)頁中,若程序流程判斷超出一個以上,可用此標(biāo)簽設(shè)計(jì)多重判斷式,進(jìn)行更復(fù)雜流程控制。多重判斷由<c:choose>與另外兩個標(biāo)簽<c:when>與<c:otherwise>形成判斷區(qū)塊。第65頁<c:choose>語法以下:<c:choose>bodycontent(<c:when>and<c:otherwise>subtags)</c:choose><when>與<otherwise>組成<c:choose>標(biāo)簽內(nèi)容區(qū)域,下面是相關(guān)語法。<c:whentest="testCondition"> bodycontent</c:when><c:otherwise> conditionalblock</c:otherwise><c:when>和<c:otherwise>必須依附在<c:choose>標(biāo)簽下,而且在整個判斷區(qū)塊中,<c:when>標(biāo)簽必須出現(xiàn)在<c:otherwise>之前,當(dāng)test判斷式成立時,其中程序區(qū)段將被運(yùn)行,若全部<c:when>標(biāo)簽條件式均不成立,則運(yùn)行<c:otherwise>標(biāo)簽內(nèi)容。第66頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>演示choose</title></head><body><c:choose><c:whentest="${3>2}">${"數(shù)值3大于2!!"}</c:when><c:otherwise>${"數(shù)值3小于2!!"}</c:otherwise></c:choose></body></html>演示<c:choose>標(biāo)簽(usingchoose.jsp)第67頁這個范例非常簡單,其中第9—16行為<c:choose>標(biāo)簽區(qū)塊,第10行<c:when>標(biāo)簽對表示式1>2進(jìn)行判斷,當(dāng)這個判斷式不成立時候,則運(yùn)行第13行<c:otherwise>標(biāo)簽內(nèi)容。運(yùn)行結(jié)果如圖5—9所表示。usingchoose.jsp運(yùn)行結(jié)果第68頁迭代-運(yùn)行循環(huán)除了條件判斷式,循環(huán)也是控制流程語法之一,它允許設(shè)置某一個程序區(qū)塊重復(fù)運(yùn)行一次以上次數(shù),與此相關(guān)關(guān)鍵標(biāo)簽是<c:forEach>及<c:forTokens>。第1個標(biāo)簽用來瀏覽某種特定對象集合或項(xiàng)目內(nèi)容,第2個標(biāo)簽則提供解析以特定標(biāo)識符號分隔字符串內(nèi)容功效。第69頁
語法1:迭代對象集合內(nèi)容。
<c:forEach,[var="varName"]items="collection"[varStatus="varStatusName"][begin="begin“][end="end"][step="step"]bodycontent</c:forEach>語法2:迭代特定次數(shù)。<c:forEach[var="varName"][varStatus="varStatusName"]begin="beginend"="end”[step="step"]>bodycontent</c:forEach><c:forEach>標(biāo)簽是一個迭代器,可針對指定對象集合內(nèi)容進(jìn)行迭代操作,語法以下:第70頁第1種語法可直接列舉指定集合對象,第2種語法則是針對特定內(nèi)容進(jìn)行重復(fù)次數(shù)運(yùn)行操作,這兩種語法屬性項(xiàng)目有些許差異,表5-11為全部屬性項(xiàng)說明列表。表5-11<c:forEach>標(biāo)簽屬性每次迭代間隔值(步長)int是step迭代結(jié)束值int是end迭代開始值int是begin存放指定迭代組員狀態(tài)內(nèi)容String否varStatus迭代集合對象集合對象是items存放指定迭代組員String否var說明類型動態(tài)屬性第71頁上表中,var指定網(wǎng)頁中所要迭代對象內(nèi)容,通常是一個集合對象名稱,items是每一次迭代所取得對象,varStatus為當(dāng)前對象相關(guān)內(nèi)容信息。begin、end及step分別代表迭代開始、結(jié)束及區(qū)間,這三個值相互影響,未正確設(shè)置可能造成程序流程運(yùn)行錯誤。下例列舉一個字符串集合內(nèi)容,而且將其中組員顯示在網(wǎng)頁上。第72頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>示范forEach</title></head><body><c:outvalue="下面列出1~10整數(shù)"/><br><c:forEachvar="theItem"begin="1"end="10">${theItem}${","}</c:forEach><br><br><c:outvalue="下面列出1~10奇數(shù)"/><br><c:forEachvar="theItemO"begin="1"end="10"step="2">${theItemO}${","}</c:forEach></body></html>演示<c:forEach>標(biāo)簽(Usingforeach.jsp)第73頁上例建立了兩段引用<c:forEach>標(biāo)簽程序區(qū)塊,程序代碼第8行設(shè)置begin屬性等于1,end屬性等于10,然后第10行利用EL,在網(wǎng)頁上輸出1到10數(shù)字,而且每個數(shù)字均以逗號區(qū)分開。程序代碼第15-20行是第2段<c:forEach>標(biāo)簽區(qū)塊,其中設(shè)置將step屬性值設(shè)置為2,所以每一次循環(huán)數(shù)字間隔便跳2,結(jié)果在網(wǎng)頁上輸出1-10奇數(shù)。運(yùn)行結(jié)果如圖所表示。第74頁usingforeach.jsp運(yùn)行結(jié)果
第75頁<c:forEach>標(biāo)簽begin、end和step這3個屬性設(shè)置有其限制,其中begin值必須大于等于0,end則需大于begin設(shè)置值,若是這個值小于begin,則標(biāo)簽內(nèi)容不會運(yùn)行,step最少大于1。上例主體內(nèi)容經(jīng)過var屬性取得每次迭代值,而且重復(fù)輸出其內(nèi)容,這是較簡單<c:forEach>標(biāo)簽應(yīng)用。<c:forEach>標(biāo)簽另一主要用途是列舉指定集合對象內(nèi)容。經(jīng)過深入設(shè)置items屬性,能夠到達(dá)這種目標(biāo),以下例所表示。第76頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>JSPPage</title></head><body><%String[]theArray={"1","2","3","4","5","6","7","8","9","10"};request.setAttribute("itemObjects",theArray);%><c:outvalue="下面列出數(shù)組對象內(nèi)容"/><br><c:forEachitems="${itemObjects}"var="theItem"begin="0"end="9">${theItem}${","}</c:forEach><br><br><c:outvalue="下面列出1~10奇數(shù)"/><br><c:forEachitems="${itemObjects}"var="theItemO"begin="0"end="9"step="2">${theItemO}${","}</c:forEach></body></html>設(shè)置items屬性(usingforeachitems.jsp)第77頁items屬性值代表所要迭代集合對象,一旦設(shè)置了該屬性,var就代表這個集合對象中每個內(nèi)容項(xiàng)目,所以程序經(jīng)過var便可輕易取得集合數(shù)組中內(nèi)容值。第7-10行設(shè)置了一個字符串?dāng)?shù)組theArray,而且引用request對象setAttribute(),將其加入至request集合變量當(dāng)中,而且命名為itemObjects。下面程序代碼與上例類似,其中第13行及第20~21行分別將items屬性設(shè)置為itemObjects,然后列舉其中內(nèi)容值。必須注意是,此時begin、end及step對應(yīng)是集合對象索引值,開始索引值為0,結(jié)束索引值則是9。<c:forEach>varStatus屬性,存放了迭代組員狀態(tài)值,比如索引(index)、計(jì)數(shù)(count)、是否為首(first)及是否為末尾(last)。第78頁<%@pagecontentType="text/html"%><%@pagepageEncoding="GB2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>JSPPage</title></head><body><%String[]theArray={"1","2","3","4","5","6","7","8","9","10"};request.setAttribute("itemObjects",theArray);%><c:outvalue="下面列出1~10奇數(shù)"/><br><c:forEachitems="${itemObjects}"var="theltemO"varStatus="thevs"begin="0"end="9"step="2">${theltemO}索引值:${thevs.index}計(jì)數(shù):${thevs.count}第一位(true/false):${thevs.first}最終一位(true/false):${thevs.last}<br></c:forEach></body></html>列舉狀態(tài)(Usingforeachstatus.jsp)第79頁第14行<c:forEach>設(shè)置了varStatus屬性值為thevs,第16~20行,除了第16行取出列舉項(xiàng)目標(biāo)值外,其余4行則分別引用thevs屬性取得列舉項(xiàng)目標(biāo)相關(guān)狀態(tài)。運(yùn)行結(jié)果如圖5-11所表示。usingforeachstatus.jsp運(yùn)行結(jié)果第80頁另一個格式迭代標(biāo)簽是<c:forTokens>,它主要是針對字符串類型數(shù)據(jù)設(shè)計(jì),用以解析一段字符串中以特定符號所分隔字符串組員。<c:forTokens>標(biāo)簽語法以下:<c:forTokensitems=“stringOfTokens”delims=“delimiters”[var=“varName”][varStatus=“varStatusName”][begin=“begin”][end=“end”][step=“step”]>bodycontent</c:forTokens><c:forTokens>語法內(nèi)容與<c:forEach>無太大差異,其中多了一個delims屬性,用來設(shè)置字符串分隔標(biāo)識符,另外因?yàn)?lt;c:forTokens>專門用來處理字符串?dāng)?shù)據(jù),所以items內(nèi)容必須是字符串。第81頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><html><head><title>演示forTokens標(biāo)簽</title></head><body><c:outvalue="原始字符串:JavaServerPagesStandardTagLibrary"/><br><c:outvalue="解析字符串:"/><c:forTokensvar="theItem" items="JavaServerPagesStandardTagLibrary"delims="">${theItem}${"-"}</c:forTokens></body></html>演示<c:forTokens>標(biāo)簽(usingforTokens.jsp)第82頁第12~17行程序代碼引用了<c:forTokens>標(biāo)簽,而且設(shè)置了一段用于測試字符串以下:JavaServerPagesStandardTagLibrary這段字符串是JSTL全名,每個單字均以空格分開,第13行將一個空格符指定給delims屬性,<c:forTokens>迭代整個字符串,以空格分隔取出其中每個單字,第15行EL依序?qū)⒚恳粋€單字加上一個短線,輸出于網(wǎng)頁上。為了方便說明,程序代碼第9行輸出未解析原始字符串內(nèi)容作比較。運(yùn)行結(jié)果如圖5-12所表示。第83頁usingforTokens.jsp運(yùn)行結(jié)果第84頁函數(shù)標(biāo)簽函數(shù)標(biāo)簽是一組提供字符串維護(hù)操作標(biāo)簽庫,其功效涵蓋了應(yīng)用程序處理字符串所需能力,如字符串解析、分割與置換等,這些函數(shù)很多,以下表所表示。第85頁分類標(biāo)簽說明字符串比較contains檢驗(yàn)字符串中是否包含了指定子字符串containsIgnoreCase不區(qū)分大小寫,檢驗(yàn)字符串中是否包含了指定子字符串endsWith檢驗(yàn)字符串是否以指定字尾結(jié)束startsWith檢驗(yàn)字符串是否以指定前綴開始獲取子字符串indexOf返回字符串之間第一個符合指定子字符串索引值substring返回字符串當(dāng)中指定區(qū)域子字符串substringAfter返回字符串當(dāng)中指定子字符串后面子字符串substringBefore返回字符串當(dāng)中指定子字符串之前子字符串字符串調(diào)整toLowerCase將字符串中全部字符轉(zhuǎn)換成小寫toUpperCase將字符串中全部字符轉(zhuǎn)換成大寫trim移除字符串兩端空白replace以指定子字符串取代部分字符串split分割字符串成為一個字符串?dāng)?shù)組join將一個字符串?dāng)?shù)組以指定符號合并成為字符串其它escapeXml轉(zhuǎn)換轉(zhuǎn)義字符length返回字符串字符數(shù)目表5-17函數(shù)標(biāo)簽
第86頁為了方便說明,將全部函數(shù)標(biāo)簽分為幾大類,其中字符串比較提供解析字符串內(nèi)容功效,獲取子字符串則用來取得字符串中特定子字符串,字符串調(diào)整可改變字符串本身組成。字符串比較比較字符串函數(shù)標(biāo)簽中,contains與containslgnoreCase,能夠?qū)Ρ纫粋€字符串當(dāng)中是否包含了某個特定子字符串,差異只在于containslgnoreCase以忽略大小寫模式進(jìn)行比對,這兩個標(biāo)簽語法非常類似,以下所表示:contains fn:contains(string,substring)booleancontainsIgnoreCase
fn:containsIgnoreCase(string,substring)boolean除關(guān)鍵字外,contains與containslgnoreCase語法是相同,其中所需參數(shù)以下表所表示。第87頁表5-18contains和containslgnoreCase參數(shù)參數(shù)類型說明StringString函數(shù)所要比正確字符串SubstringString用以比正確子字符串第88頁當(dāng)該函數(shù)運(yùn)行時,假如第一個參數(shù)字符串string中,包含第2個參數(shù)字符串substring,則返回boolean類型值true,不然返回false。對于另一組標(biāo)簽endsWith與startsWith,則提供相反功效,endsWith用以查看字符串是否以指定后綴結(jié)束;startsWith則是查看字符串是否以指定前綴開始,它們語法也相同,以下所表示:endsWith fn:endsWith(string,suffix)booleanstartsWith fn:startsWith(string,prefix)boolean這兩個標(biāo)簽語法當(dāng)中參數(shù),分別指定所要比正確字符串及用來比正確前綴與字尾,以下表所表示。第89頁表5-19endsWith和startsWith參數(shù)參數(shù)類型說明StringString函數(shù)所要比正確字符串Suffix/prefixString用以比正確前綴或字尾函數(shù)依據(jù)所指定前綴或字尾與字符串作比較,依據(jù)比較結(jié)果返回true或是false布爾值。indexOf提供取得字符串當(dāng)中某個子字符串第一次于其中出現(xiàn)位置索引,索引值以0為基礎(chǔ),語法以下:fn:indexOf(string,substring)int如同上述幾個函數(shù),indexOf接收兩個參數(shù),其中第2個參數(shù)為所要查看子字符串,其返回值則是代表子字符串出現(xiàn)位置整數(shù)。第90頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="fn"uri="/jsp/jstl/functions"%><html><head><title>演示字符串比對</title></head><body>字符串:TheJSTLfunctions<br>比對字符串:JSTL(fn:contains)-${fn:contains("TheJSTLfunctions","JSTL")}<br>比對字符串:jstl(fn:contains)-${fn:contains("TheJSTLfunctions","jstl")}<br>比對字符串:jstl(fn:containsIgnoreCase)-${fn:containsIgnoreCase("TheJSTLfunctions","jstl")}<br><br>以The為前綴開始(fn:startsWith):${fn:startsWith("TheJSTLfunctions","The")}<br>以function為后綴作結(jié)束(fn:endsWith):${fn:endsWith("TheJSTLfunctions","functions")}<br><br>子字符串JSTL開始索引值(fn:indexOf):${fn:indexOf("TheJSTLfunctions","JSTL")}<br></body></html>演示字符串比對函數(shù)(usingfnmatch.jsp)第91頁上例提供了相關(guān)語法應(yīng)用,其中第9、11和第13行,分別引用contains與containsIgnoreCase比較子字符串JSTL是否存在指定字符串當(dāng)中,第16及18行則是startsWith和endsWith比對,最終第21行,則是返回JSTL字符串在指定字符串當(dāng)中索引位置。運(yùn)行結(jié)果以下列圖。usingfnmatch.jsp運(yùn)行結(jié)果
第92頁獲取子字符串這一類函數(shù)提供獲取子字符串相關(guān)功效,substring、substringAfter和substringBefore能夠用來取得字符串當(dāng)中特定子字符串,其中substring以索引界定所要獲取子字符串,substringAfter和substringBefore則是以特定字符串為基準(zhǔn),返回位于此字符串之后或之前子字符串。下面列出了substring語法:fn:substring(string,beginIndex,endIndex)Stringsubstring函數(shù)包含3個參數(shù),第1個參數(shù)為所要獲取字符串,第2和第3個則是子字符串開始與結(jié)束索引值,以下表所表示。第93頁表5-20substring函數(shù)參數(shù)參數(shù)類型說明stringString參數(shù)所要操作字符串beginIndexint獲取子字符串起始索引值endIndexint獲取子字符串結(jié)束索引值第94頁substring函數(shù)依據(jù)指定索引值,獲取其中子字符串,最終返回一個字符串類型數(shù)據(jù)。substringAfter和substringBefore以指定子字符串為獲取字符串依據(jù)。substringAfter將字符串中指定子字符串以后字符串獲取出來;相反,substringBefore則是返回子字符串之前字符串內(nèi)容。substringAfier和substrinlgBefore語法以下所表示:substringAfterfn:substringAfter(string,substring)stringsubstringBeforefn:substringBefore(string,substring)string這兩個語法接收2個參數(shù),其中第2個參數(shù)為所要比正確子字符串,其返回值為所獲取子字符串。第95頁<%@pagecontentType="text/html"%><%@pagepageEncoding="GB2312"%><%@taglibprefix="fn"uri="/jsp/jstl/functions"%><html><head><title>演示字符串獲取</title></head><body>字符串:TheJSTLfunctions<br>索引4~8子字符串(fn:substring):${fn:substring("TheJSTLfunctions",4,8)}<br>JSTL之后子字符串(fn:substringAfter):${fn:substringAfter("TheJSTLfunctions","JSTL")}<br>JSTL之前子字符串(fn:substringBefore):${fn:substringBefore("TheJSTLfunctions","JSTL")}<br></body></html>演示字符串獲取函數(shù)(usingsubstring.jsp)第96頁第10、12以及14行,分別以substring、substringAfter和substringBefore從指定字符串中獲取特定子字符串,其中第10行以索引值4—8為所要獲取字符串內(nèi)容,第12與14行則是獲取JSTL字符串前后子字符串。運(yùn)行結(jié)果如圖5-17所表示usingsubstring.jsp運(yùn)行結(jié)果第97頁調(diào)整字符串調(diào)整字符串類函數(shù)用來調(diào)整字符串內(nèi)容,返回結(jié)果則是經(jīng)過變動之后字符串,toLowerCase和toUpperCase函數(shù)功效用來進(jìn)行字符串大小寫轉(zhuǎn)換,其中toLowerCase將整個字符串轉(zhuǎn)換成為小寫字母,反之toUpperCase則將其轉(zhuǎn)換成為大寫字母。toLowerCase和toUpperCase函數(shù)語法以下所表示:第98頁toLowerCase fn:toLowerCase(string)->StringtoUpperCase fn:toUpperCase(string)->String這兩個函數(shù)語法較簡單,其返回值為指定參數(shù)字符串轉(zhuǎn)換之后字符串。trim用來定字符串前后空白移除,返回開始與結(jié)尾不包含任何空格符新字符串,其語法以下所表示:fn:trim(string)->String第99頁split與join這兩個函數(shù)進(jìn)行相反操作。split將一個字符串分割成為由子字符串組成數(shù)組對象,join則將指定數(shù)組字符串,合并為一個字符串。Split和join語法以下所表示:
split fn:split(string,delimiters)->String[]join
fn:ioin(array,separator)->String不論split或是join,都是依據(jù)指定符號進(jìn)行字符串分割與合并,所以用戶必須提供相關(guān)符號作轉(zhuǎn)換,如上式中delimiters及separator。注意:split返回是一個數(shù)組對象,由join所接收參數(shù)則是一個用來進(jìn)行合并字符串?dāng)?shù)組。第100頁最終,replace函數(shù)用來對指定字符串進(jìn)行置換操作,其語法以下所表示:fn:replace(inputString,beforeSubstring,afterSubstring)Stringreplace函數(shù)包含3個參數(shù),其中意義如表5-21所表示:第101頁表5-21replace函數(shù)參數(shù)參數(shù)類型說明inputStringString函數(shù)所要進(jìn)行置換操作字符串beforeSubstringString被置換子字符串a(chǎn)fterSubstringString要置換子字符串當(dāng)replace函數(shù)運(yùn)行時候,inputString當(dāng)中子字符串beforeSubstring會被指定字符串a(chǎn)fterSubstring給置換掉,而且返回一個新字符串第102頁<%@pagecontentType="text/html;charset=gb2312"%><%@taglib
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建房施工合同協(xié)議書
- 2025年黔東南駕??荚囏涍\(yùn)從業(yè)資格證模擬考試
- 垃圾運(yùn)輸合同合同
- 招聘信息收集表-人力資源
- 電力供應(yīng)與需求分析表
- 2025年天水道路貨運(yùn)從業(yè)資格證模擬考試
- 《生物學(xué)中的光合作用原理及應(yīng)用》
- 加油站購銷合同汽油購銷合同
- 紙制品包裝知識培訓(xùn)課件
- 環(huán)境科學(xué)氣候變化主題知識考點(diǎn)
- 第九講:信息與大數(shù)據(jù)倫理問題-工程倫理
- 四年級美術(shù)素養(yǎng)附答案
- 2021年全國中學(xué)生天文奧林匹克競賽預(yù)賽試題及答案
- 四年級下冊音樂教案-2.2我們美麗的祖國 |接力版
- Quantum軟件培訓(xùn)手冊
- 走近人工智能
- 服裝市場營銷項(xiàng)目2服裝市場營銷環(huán)境分析課件
- 中國傳媒大學(xué)《當(dāng)代電視播音主持教程》課件
- 制造業(yè)信息化管理系統(tǒng)架構(gòu)規(guī)劃
- 《納米復(fù)合材料》第2章 納米復(fù)合材料概論
- 建設(shè)工程圍擋標(biāo)準(zhǔn)化管理圖集(2022年版)
評論
0/150
提交評論