【教学课件】第6章JSTL标签建立JSP程式.ppt

上传人:牧羊曲112 文档编号:5659122 上传时间:2023-08-06 格式:PPT 页数:61 大小:459.47KB
返回 下载 相关 举报
【教学课件】第6章JSTL标签建立JSP程式.ppt_第1页
第1页 / 共61页
【教学课件】第6章JSTL标签建立JSP程式.ppt_第2页
第2页 / 共61页
【教学课件】第6章JSTL标签建立JSP程式.ppt_第3页
第3页 / 共61页
【教学课件】第6章JSTL标签建立JSP程式.ppt_第4页
第4页 / 共61页
【教学课件】第6章JSTL标签建立JSP程式.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《【教学课件】第6章JSTL标签建立JSP程式.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第6章JSTL标签建立JSP程式.ppt(61页珍藏版)》请在三一办公上搜索。

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

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

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

4、用JSTL核心標籤庫,其基本語法如下所示:上述標籤以字首c開頭,在:後是標籤名稱和屬性清單。,6-2 核心標籤庫的一般用途標籤,6-2-1 標籤輸出資料6-2-2 標籤建立變數6-2-3 標籤移除變數,6-2-1 標籤輸出資料-語法,標籤可以將value屬性值的文字值或EL運算式進行運算,將運算結果的null或String字串文字值送到瀏覽程式顯示,其功能類似JSP的Expression元素。其基本語法如下所示:,6-2-1 標籤輸出資料-範例,標籤的default屬性可以用來作為一種錯誤處理機制,當value屬性值為null時,就顯示default屬性值,其寫法有兩種,如下所示:陳會安上述d

5、efault屬性值可以是標籤的屬性,或是位在和標籤之中的字串內容。,6-2-2 標籤建立變數-語法,JSTL的標籤提供標籤語法來建立和指定範圍變數值,其基本語法如下所示:,6-2-2 標籤建立變數-範例1,建立和指定範圍變數值在標籤是使用var、value和scope屬性建立範圍變數,如下所示:02-22222222上述標籤建立範圍變數areacode、number和phone,phone變數值是EL運算式,因為沒有使用scope屬性,所以預設為Page範圍變數。,6-2-2 標籤建立變數-範例2,修改JavaBeans或Map物件的屬性標籤修改物件屬性是使用target、property和v

6、alue屬性,如下所示:上述標籤是使用動作元素建立TreeMap集合物件,然後使用標籤新增集合物件的2個元素,property屬性的Joe和Tom是鍵,value屬性是值。,6-2-3 標籤移除變數-說明,標籤可以移除指定範圍的範圍變數,其基本語法如下所示:,6-2-3 標籤移除變數-範例,標籤如果沒有指定scope屬性,就是刪除Page範圍的變數,如下所示:上述標籤刪除Page範圍名為var2的變數。因為不同範圍可能擁有同名的變數,所以,刪除指定範圍的變數請使用scope屬性。例如:刪除Request範圍的var1變數,如下所示:,6-3 核心標籤庫的條件標籤,6-3-1 標籤的是否選條件6

7、-3-2 標籤的多選一條件6-3-3 巢狀的條件標籤,6-3-1 標籤的是否選條件-語法,標籤類似Java的if條件敘述,可以建立是否選條件,其基本語法如下所示:Body上述標籤的條件如果成立,就執行和標籤中的Body部分;不成立,就不執行。,6-3-1 標籤的是否選條件-語法,標籤的test屬性是一個條件的EL運算式,如果運算結果為true,就執行之中的Body內容,如下所示:=60 JSP網頁製作徹底研究-及格!上述test屬性的條件如為true,就顯示之中的標籤內容。如果在標籤使用var和scope屬性,即可使用變數記錄條件判斷結果為true或 false。,6-3-2 標籤的多選一條件

8、-語法,標籤類似Java的switch條件敘述,可以建立多選一條件,其基本語法如下所示:Body Body,6-3-2 標籤的多選一條件-範例,例如:GPA成績範圍判斷的標籤,如下所示:學生成績超過80分 學生成績為7079分 學生成績低於60分,6-3-3 巢狀的條件標籤,在和條件標籤之中還可以擁有其它和標籤,稱為巢狀條件標籤,如下所示:=1&age 學生票:12元 18 普通票:15元 敬老票:8元,6-4 核心標籤庫的迴圈標籤,6-4-1 標籤6-4-2 標籤6-4-3 迴圈標籤的varStatus屬性,6-4-1 標籤-語法,迴圈標籤可以取出陣列或集合物件的所有元素,也可以如同Java

9、的for迴圈敘述成為一個計數迴圈,其基本語法如下所示:Body,6-4-1 標籤-語法說明,標籤如果指定items屬性的陣列或集合物件元素,這種操作稱為迭代(Iteration),即每執行一次迴圈取出一個元素儲存在var屬性的範圍變數,然後執行Body內容。當標籤指定begin、end和step屬性,就可以限制迴圈只取出從begin的開始元素,到end的結束元素,以step的增量執行迭代(Iteration)。若沒有指定items屬性,begin、end和step屬性就是一種計數迴圈。,6-4-1 標籤-範例1,取出集合物件的所有元素標籤可以取出Java集合物件的所有元素。例如:取出TreeM

10、ap物件list的所有元素,如下所示:()上述var屬性的item變數可以取出每一次迴圈的集合物件元素,然後顯示元素的鍵和值。,6-4-1 標籤-範例2,取出指定範圍的陣列元素在標籤加上begin、end和step屬性就可以取出陣列的部分元素,如下所示:上述var屬性的item變數可以取出每一次迴圈的陣列元素,其範圍是從12,即顯示第2到第3個陣列元素。,6-4-1 標籤-範例3,計數迴圈在標籤如果沒有items屬性,而只有指定begin、end和step屬性就成為一個計數迴圈。例如:顯示15的計數迴圈,如下所示:,6-4-2 標籤-語法,標籤可以將範圍變數的字串使用分隔字元(Delimite

11、r)來進行分割,我們可以將它視為是一種在字串中執行的迭代(Iteration),其基本語法如下所示:Body,6-4-2 標籤-語法說明,標籤的items屬性是一個擁有delims屬性分隔字元的字串,每執行一次迴圈取出一個以分隔字元分割出的元素,然後將它儲存在var屬性的範圍變數,然後執行Body內容。在標籤如果同時指定begin、end和step屬性,將限制取出begin的開始元素,到end的結束元素,以step的增量執行迭代(Iteration)。,6-4-2 標籤-範例,標籤的begin、end和step屬性與標籤相同,請參閱上一節的說明。例如:使用,分隔字元來分割1,2,3:4:5,6

12、#7,8字串的標籤,如下所示:,6-4-3 迴圈標籤的varStatus屬性-說明,和標籤都擁有varStatus屬性,可以顯示迴圈執行狀態,當使用varStatus屬性將狀態存入指定的範圍變數status後,就可以使用相關屬性取得迴圈狀態,如下所示:()index:$status.index count:$status.count first:$status.first last:$status.last,6-4-3 迴圈標籤的varStatus屬性-屬性說明,index、count、first和last屬性的狀態說明,如下表所示:,6-5 核心標籤庫的URL處理標籤,6-5-1 標籤建立U

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

14、SP程式,並且傳遞參數,其基本語法如下所示:,6-5-2 標籤轉址到其它網址-範例,當標籤轉址到其它網址時,也可以傳遞參數,就是使用標籤新增這些參數,如下所示:上述url屬性指定轉址到HTTP通訊協定的URL網址,例如:http:/,或是JSP程式的相對路徑,內含標籤的URL參數type。,6-5-3 標籤匯入URL-語法,標籤是一個加強版本的動作元素,可以在JSP程式的執行階段將其它網頁內容插入JSP程式,同樣也可以傳遞參數,其基本語法如下所示:,6-5-3 標籤匯入URL-範例,標籤的url屬性支援FTP通訊協定,假設FTP站台的網址為ftp:/,在其根目錄有一個名為test.txt,此時

15、在JSP網頁插入FTP檔案的標籤,如下所示:如果在目前Web應用程式的根目錄下有一個名為Ch6_5_3.txt的文字檔案,我們也可以使用標籤來插入,如下所示:,6-6 格式標籤庫的日期與數值格式,6-6-1 日期格式標籤6-6-2 數值格式標籤,6-6 格式標籤庫的日期與數值格式,JSTL的格式標籤庫提供格式化日期或數值資料的相關標籤,可以將字串資料剖析轉換成日期或數值資料。在JSP程式請先使用taglib指引元素匯入格式標籤庫的URI,如下所示:,6-6-1 日期格式標籤-標籤(語法),標籤是用來格式化日期/時間資料,以指定格式來顯示日期/時間資料,屬於一種資料輸出標籤,其基本語法如下所示:

16、上述標籤可以將value屬性的日期/時間資料,以指定的時區、樣式或範本來顯示,或是存入var屬性的範圍變數。,6-6-1 日期格式標籤-標籤(範例),在JSP程式取得物件now後,就可以使用標籤格式化輸出的日期/時間資料,如下所示:,6-6-1 日期格式標籤-標籤(語法),標籤可以將字串剖析成日期/時間值,這是一種資料輸入標籤,可以將結果儲存在範圍變數,其基本語法如下所示:,6-6-1 日期格式標籤-標籤(範例),JSP程式在指定日期/時間的字串變數current,就可以使用標籤剖析日期/時間資料,如下所示:上述標籤使用範本字串MM/dd/yy來剖析日期/時間資料,然後將值儲存到pubDate

17、變數。,6-6-2 數值格式標籤-標籤(語法),標籤是用來格式化顯示的數值資料,其基本語法如下所示:,6-6-2 數值格式標籤-標籤(範例),在JSP程式可以使用標籤來格式化輸出數值資料,如下所示:/上述標籤以數值和最大整數位數7,最小為3的格式來顯示數值資料。,6-6-2 數值格式標籤-標籤(語法),標籤可以將字串剖析成數值,其基本語法如下所示:,6-6-2 數值格式標籤-標籤(範例),JSP程式在指定數值變數order,就可以使用標籤剖析數值資料,如下所示:上述標籤只剖析出數值的整數部分。,6-7 格式標籤庫的國際化設定,6-7-1 時區設定標籤6-7-2 語系的地區設定標籤6-7-3 國

18、際化訊息標籤,6-7-1 時區設定標籤-標籤(語法),標籤可以指定其它fmt格式標籤預設使用的時區,其基本語法如下所示:上述標籤指定value屬性使用的時區值。,6-7-1 時區設定標籤-標籤(範例),在JSP程式可以使用標籤指定預設時區,例如:指定成EST時區,如下所示:上述標籤指定目前預設的時區為value屬性的EST,scope屬性將預設時區加入使用者的交談期(Session),換句話說,預設時區直到使用者交談期結束為止都有效。,6-7-1 時區設定標籤-標籤(語法),標籤可以指定其子標籤使用的時區,其基本語法如下所示:Body上述標籤可以指定value屬性使用的時區值,此時在Body中

19、的子標籤就是使用此時區,但是只限於子標籤的範圍有效。,6-7-1 時區設定標籤-標籤(範例),在JSP程式可以使用標籤指定部分標籤來使用不同的時區,例如:在預設EST時區之中,有部分格式標籤需要使用MST時區,如下所示:上述標籤指定其子標籤的時區為value屬性的MST。,6-7-2 語系的地區設定標籤-語法,在格式格式標籤庫提供標籤可以指定使用者所在語系的地區,其基本語法如下所示:上述標籤指定value屬性使用的語系地區值。,6-7-2 語系的地區設定標籤-範例,在JSP程式可以使用標籤指定預設的語系地區,例如:指定成en英文的語系地區,如下所示:上述標籤指定目前預設的語系地區為value屬

20、性的en。,6-7-3 國際化訊息標籤-說明,JSTL的國際化訊息標籤是使用和標籤,這2個標籤可以從指定語系地區的資源包(Resource Bundle)取出訊息文字在JSP程式顯示,換句話說,只需針對不同語系建立專屬的訊息文字,就可以讓同一個JSP程式顯示國際化的訊息文字。當建立好資源包後,JSTL是使用和標籤來指定使用的資源包名稱,以便標籤可以取出指定語系地區的訊息文字。,6-7-3 國際化訊息標籤-英文資源包,資源包(Resource Bundle)是用來儲存指定語系地區的訊息文字,這是一些位在WEB-INF/classes資料夾,副檔名為.properties的檔案,英文en的檔案名稱

21、是Ch6_7_2_en.properties,其內容如下所示:hello=Hello!name=Joe Chentoday=Today:0,date在上述=等號前為訊息的3個Key鍵,之後就是訊息內容的值,這就是標籤以指定Key鍵來取出的訊息內容。,6-7-3 國際化訊息標籤-中文資源包,中文(台灣)zh_TW的檔案名稱為,其內容如下所示:hello=u5927u5bb6u597d!name=u9673u6703u5b89today=u4ecau5929:0,date上述檔案內容擁有相同的3個Key鍵,因為訊息是中文內容,所以需要編碼成Unicode,我們可以使用JDK的native2ascii.exe工具程式來進行編碼。,6-7-3 國際化訊息標籤-與標籤,標籤可以顯示指定資源包(Resource Bundle)中的訊息文字,其基本語法如下所示:.,6-7-3 國際化訊息標籤-標籤,標籤可以指定預設資源包(Resource Bundle),其基本語法如下所示:上述標籤指定位在basename屬性的資源包。,6-7-3 國際化訊息標籤-標籤,標籤可以指定其子標籤使用的資源包(Resource Bundle),其基本語法如下所示:Body上述標籤可以指定basename屬性使用的資源包,此時在Body中的子標籤就是使用此資源包,但是只限於子標籤的範圍有效。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号