JSTL标签建立JSP程式答辩课件_第1页
JSTL标签建立JSP程式答辩课件_第2页
JSTL标签建立JSP程式答辩课件_第3页
JSTL标签建立JSP程式答辩课件_第4页
JSTL标签建立JSP程式答辩课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章 JSTL標籤建立JSP程式6-1 JSTL標籤庫6-2 核心標籤庫的一般用途標籤6-3 核心標籤庫的條件標籤6-4 核心標籤庫的迴圈標籤6-5 核心標籤庫的URL處理標籤6-6 格式標籤庫的日期與數值格式6-7 格式標籤庫的國際化設定第1页,共61页。6-1 JSTL標籤庫6-1-1 JSTL 1.1版標籤庫6-1-2 在JSP程式使用JSTL標籤第2页,共61页。6-1-1 JSTL 1.1版標籤庫-種類JSTL 1.1版標籤庫(Tag Libraries)依其不同用途,可以分為五種標籤庫,如下表所示:第3页,共61页。6-1-1 JSTL 1.1版標籤庫-說明1核心標籤庫(Core

2、)核心標籤庫包含EL範圍變數的建立和刪除標籤、錯誤處理和一般程式語言流程控制的條件和迴圈標籤。URL處理標籤可以使用在交談期追蹤(Session Tracking),和執行階段插入指定URL網址的網頁或轉址到其它URL網址。格式標籤庫(I18N Formattiong)格式標籤庫提供資料格式和剖析的相關標籤,支援國際化格式I18N,以便符合不同地區的資料格式差異,包含國際化編碼、訊息、數值和日期格式等相關標籤。第4页,共61页。6-1-1 JSTL 1.1版標籤庫-說明2XML處理標籤庫(XML Processing)XML處理標籤庫如同其名,就是在處理XML文件、支援XML剖析、XSTL轉換

3、和XPath取出指定資料。資料庫存取標籤庫(Database Access)資料庫存取標籤庫提供標籤執行SQL指令來存取關聯式資料庫,可以在JSP程式輕鬆執行SQL查詢、更新和取得查詢結果,並且支援交易(Transaction)處理的相關標籤。函數標籤庫(Functions)函數標籤庫提供字串處理的相關函數,可以在EL運算式直接使用JSTL標籤庫的函數來執行字串處理。第5页,共61页。6-1-2 在JSP程式使用JSTL標籤在JSP程式使用JSTL標籤庫需要使用taglib指引元素匯入指定URI的標籤庫。例如:匯入核心標籤庫的taglib指令,如下所示:上述指令的uri屬性是標籤庫的預設URI

4、,prefix屬性對應字首(Prefix)。在匯入標籤庫後,就可以使用JSTL核心標籤庫,其基本語法如下所示:上述標籤以字首c開頭,在:後是標籤名稱和屬性清單。第6页,共61页。6-2 核心標籤庫的一般用途標籤6-2-1 標籤輸出資料6-2-2 標籤建立變數6-2-3 標籤移除變數第7页,共61页。6-2-1 標籤輸出資料-語法標籤可以將value屬性值的文字值或EL運算式進行運算,將運算結果的null或String字串文字值送到瀏覽程式顯示,其功能類似JSP的Expression元素。其基本語法如下所示:第8页,共61页。6-2-1 標籤輸出資料-範例標籤的default屬性可以用來作為一種

5、錯誤處理機制,當value屬性值為null時,就顯示default屬性值,其寫法有兩種,如下所示:陳會安上述default屬性值可以是標籤的屬性,或是位在和標籤之中的字串內容。第9页,共61页。6-2-2 標籤建立變數-語法JSTL的標籤提供標籤語法來建立和指定範圍變數值,其基本語法如下所示:第10页,共61页。6-2-2 標籤建立變數-範例1建立和指定範圍變數值在標籤是使用var、value和scope屬性建立範圍變數,如下所示:02-22222222上述標籤建立範圍變數areacode、number和phone,phone變數值是EL運算式,因為沒有使用scope屬性,所以預設為Page範

6、圍變數。第11页,共61页。6-2-2 標籤建立變數-範例2修改JavaBeans或Map物件的屬性標籤修改物件屬性是使用target、property和value屬性,如下所示:上述標籤是使用動作元素建立TreeMap集合物件,然後使用標籤新增集合物件的2個元素,property屬性的Joe和Tom是鍵,value屬性是值。第12页,共61页。6-2-3 標籤移除變數-說明標籤可以移除指定範圍的範圍變數,其基本語法如下所示:第13页,共61页。6-2-3 標籤移除變數-範例標籤如果沒有指定scope屬性,就是刪除Page範圍的變數,如下所示:上述標籤刪除Page範圍名為var2的變數。因為不

7、同範圍可能擁有同名的變數,所以,刪除指定範圍的變數請使用scope屬性。例如:刪除Request範圍的var1變數,如下所示:第14页,共61页。6-3 核心標籤庫的條件標籤6-3-1 標籤的是否選條件6-3-2 標籤的多選一條件6-3-3 巢狀的條件標籤第15页,共61页。6-3-1 標籤的是否選條件-語法標籤類似Java的if條件敘述,可以建立是否選條件,其基本語法如下所示:Body上述標籤的條件如果成立,就執行和標籤中的Body部分;不成立,就不執行。第16页,共61页。6-3-1 標籤的是否選條件-語法標籤的test屬性是一個條件的EL運算式,如果運算結果為true,就執行之中的Bod

8、y內容,如下所示:= 60 JSP網頁製作徹底研究-及格!上述test屬性的條件如為true,就顯示之中的標籤內容。如果在標籤使用var和scope屬性,即可使用變數記錄條件判斷結果為true或 false。第17页,共61页。6-3-2 標籤的多選一條件-語法標籤類似Java的switch條件敘述,可以建立多選一條件,其基本語法如下所示: Body Body 第18页,共61页。6-3-2 標籤的多選一條件-範例例如:GPA成績範圍判斷的標籤,如下所示: 學生成績超過80分 學生成績為7079分 學生成績低於60分 第19页,共61页。6-3-3 巢狀的條件標籤在和條件標籤之中還可以擁有其它

9、和標籤,稱為巢狀條件標籤,如下所示:= 1 & age c:when test=$age 學生票:12元 c:when test=$age 18 普通票:15元 敬老票:8元 第20页,共61页。6-4 核心標籤庫的迴圈標籤6-4-1 標籤6-4-2 標籤6-4-3 迴圈標籤的varStatus屬性第21页,共61页。6-4-1 標籤-語法迴圈標籤可以取出陣列或集合物件的所有元素,也可以如同Java的for迴圈敘述成為一個計數迴圈,其基本語法如下所示: Body第22页,共61页。6-4-1 標籤-語法說明標籤如果指定items屬性的陣列或集合物件元素,這種操作稱為迭代(Iteration),

10、即每執行一次迴圈取出一個元素儲存在var屬性的範圍變數,然後執行Body內容。當標籤指定begin、end和step屬性,就可以限制迴圈只取出從begin的開始元素,到end的結束元素,以step的增量執行迭代(Iteration)。若沒有指定items屬性,begin、end和step屬性就是一種計數迴圈。第23页,共61页。6-4-1 標籤-範例1取出集合物件的所有元素標籤可以取出Java集合物件的所有元素。例如:取出TreeMap物件list的所有元素,如下所示: ()上述var屬性的item變數可以取出每一次迴圈的集合物件元素,然後顯示元素的鍵和值。第24页,共61页。6-4-1 標籤

11、-範例2取出指定範圍的陣列元素在標籤加上begin、end和step屬性就可以取出陣列的部分元素,如下所示: 上述var屬性的item變數可以取出每一次迴圈的陣列元素,其範圍是從12,即顯示第2到第3個陣列元素。第25页,共61页。6-4-1 標籤-範例3計數迴圈在標籤如果沒有items屬性,而只有指定begin、end和step屬性就成為一個計數迴圈。例如:顯示15的計數迴圈,如下所示: 第26页,共61页。6-4-2 標籤-語法標籤可以將範圍變數的字串使用分隔字元(Delimiter)來進行分割,我們可以將它視為是一種在字串中執行的迭代(Iteration),其基本語法如下所示: Body

12、第27页,共61页。6-4-2 標籤-語法說明標籤的items屬性是一個擁有delims屬性分隔字元的字串,每執行一次迴圈取出一個以分隔字元分割出的元素,然後將它儲存在var屬性的範圍變數,然後執行Body內容。在標籤如果同時指定begin、end和step屬性,將限制取出begin的開始元素,到end的結束元素,以step的增量執行迭代(Iteration)。第28页,共61页。6-4-2 標籤-範例標籤的begin、end和step屬性與標籤相同,請參閱上一節的說明。例如:使用,分隔字元來分割1,2,3:4:5,6#7,8字串的標籤,如下所示: 第29页,共61页。6-4-3 迴圈標籤的v

13、arStatus屬性-說明和標籤都擁有varStatus屬性,可以顯示迴圈執行狀態,當使用varStatus屬性將狀態存入指定的範圍變數status後,就可以使用相關屬性取得迴圈狀態,如下所示: () index: $status.index count: $status.count first: $status.first last: $status.last第30页,共61页。6-4-3 迴圈標籤的varStatus屬性-屬性說明index、count、first和last屬性的狀態說明,如下表所示:第31页,共61页。6-5 核心標籤庫的URL處理標籤6-5-1 標籤建立URL網址6-5

14、-2 標籤轉址到其它網址6-5-3 標籤匯入URL第32页,共61页。6-5-1 標籤建立URL網址-語法標籤可以執行編碼來建立正確的URL網址字串,以免URL網址中的空白字元或特殊符號,造成Web伺服器無法識別的錯誤,其基本語法如下所示: 第33页,共61页。6-5-1 標籤建立URL網址-範例標籤需要使用標籤建立擁有參數的URL網址,如下所示: 上述value屬性的基礎網址可以是HTTP通訊協定的網址。context屬性表示是位在其它Web應用程式,以此例是/Ch04,var屬性可以將處理後的URL網址存入此範圍變數。第34页,共61页。6-5-2 標籤轉址到其它網址-語法標籤可以轉址到其

15、它URL網址或是其它Web應用程式的JSP程式,並且傳遞參數,其基本語法如下所示: 第35页,共61页。6-5-2 標籤轉址到其它網址-範例當標籤轉址到其它網址時,也可以傳遞參數,就是使用標籤新增這些參數,如下所示: 上述url屬性指定轉址到HTTP通訊協定的URL網址,例如:,或是JSP程式的相對路徑,內含標籤的URL參數type。第36页,共61页。6-5-3 標籤匯入URL-語法標籤是一個加強版本的動作元素,可以在JSP程式的執行階段將其它網頁內容插入JSP程式,同樣也可以傳遞參數,其基本語法如下所示: 第37页,共61页。6-5-3 標籤匯入URL-範例標籤的url屬性支援FTP通訊協

16、定,假設FTP站台的網址為,在其根目錄有一個名為test.txt,此時在JSP網頁插入FTP檔案的標籤,如下所示:如果在目前Web應用程式的根目錄下有一個名為Ch6_5_3.txt的文字檔案,我們也可以使用標籤來插入,如下所示:第38页,共61页。6-6 格式標籤庫的日期與數值格式6-6-1 日期格式標籤6-6-2 數值格式標籤第39页,共61页。6-6 格式標籤庫的日期與數值格式JSTL的格式標籤庫提供格式化日期或數值資料的相關標籤,可以將字串資料剖析轉換成日期或數值資料。在JSP程式請先使用taglib指引元素匯入格式標籤庫的URI,如下所示:第40页,共61页。6-6-1 日期格式標籤-

17、標籤(語法)標籤是用來格式化日期/時間資料,以指定格式來顯示日期/時間資料,屬於一種資料輸出標籤,其基本語法如下所示:上述標籤可以將value屬性的日期/時間資料,以指定的時區、樣式或範本來顯示,或是存入var屬性的範圍變數。第41页,共61页。6-6-1 日期格式標籤-標籤(範例)在JSP程式取得java.util.Date物件now後,就可以使用標籤格式化輸出的日期/時間資料,如下所示:第42页,共61页。6-6-1 日期格式標籤-標籤(語法)標籤可以將字串剖析成日期/時間值,這是一種資料輸入標籤,可以將結果儲存在範圍變數,其基本語法如下所示:第43页,共61页。6-6-1 日期格式標籤-

18、標籤(範例)JSP程式在指定日期/時間的字串變數current,就可以使用標籤剖析日期/時間資料,如下所示:上述標籤使用範本字串MM/dd/yy來剖析日期/時間資料,然後將值儲存到pubDate變數。第44页,共61页。6-6-2 數值格式標籤-標籤(語法)標籤是用來格式化顯示的數值資料,其基本語法如下所示:第45页,共61页。6-6-2 數值格式標籤-標籤(範例)在JSP程式可以使用標籤來格式化輸出數值資料,如下所示:/上述標籤以數值和最大整數位數7,最小為3的格式來顯示數值資料。第46页,共61页。6-6-2 數值格式標籤-標籤(語法)標籤可以將字串剖析成數值,其基本語法如下所示:第47页

19、,共61页。6-6-2 數值格式標籤-標籤(範例)JSP程式在指定數值變數order,就可以使用標籤剖析數值資料,如下所示:上述標籤只剖析出數值的整數部分。第48页,共61页。6-7 格式標籤庫的國際化設定6-7-1 時區設定標籤6-7-2 語系的地區設定標籤6-7-3 國際化訊息標籤第49页,共61页。6-7-1 時區設定標籤-標籤(語法)標籤可以指定其它fmt格式標籤預設使用的時區,其基本語法如下所示:上述標籤指定value屬性使用的時區值。第50页,共61页。6-7-1 時區設定標籤-標籤(範例)在JSP程式可以使用標籤指定預設時區,例如:指定成EST時區,如下所示:上述標籤指定目前預設

20、的時區為value屬性的EST,scope屬性將預設時區加入使用者的交談期(Session),換句話說,預設時區直到使用者交談期結束為止都有效。第51页,共61页。6-7-1 時區設定標籤-標籤(語法)標籤可以指定其子標籤使用的時區,其基本語法如下所示: Body上述標籤可以指定value屬性使用的時區值,此時在Body中的子標籤就是使用此時區,但是只限於子標籤的範圍有效。第52页,共61页。6-7-1 時區設定標籤-標籤(範例)在JSP程式可以使用標籤指定部分標籤來使用不同的時區,例如:在預設EST時區之中,有部分格式標籤需要使用MST時區,如下所示:上述標籤指定其子標籤的時區為value屬

21、性的MST。第53页,共61页。6-7-2 語系的地區設定標籤-語法在格式格式標籤庫提供標籤可以指定使用者所在語系的地區,其基本語法如下所示:上述標籤指定value屬性使用的語系地區值。第54页,共61页。6-7-2 語系的地區設定標籤-範例在JSP程式可以使用標籤指定預設的語系地區,例如:指定成en英文的語系地區,如下所示:上述標籤指定目前預設的語系地區為value屬性的en。第55页,共61页。6-7-3 國際化訊息標籤-說明JSTL的國際化訊息標籤是使用和標籤,這2個標籤可以從指定語系地區的資源包(Resource Bundle)取出訊息文字在JSP程式顯示,換句話說,只需針對不同語系建立專屬的訊息文字,就可以讓同一個JSP程式顯示國際化的訊息文字。當建立好資源包後,JSTL是使用和標籤來指定使用的資源包名稱,以便標籤可以取出指定語系地區的訊息文字。第56页,共61页。6-7-3 國際化訊息標籤-英文資源包資源包(Resource Bundle)是用來儲存指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论