<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-6  評(píng)論-38  文章-40  trackbacks-0

    一 : 初識(shí)JSTL

    JSTL :JSP標(biāo)準(zhǔn)標(biāo)記庫(kù)(JSP Standard Tag Library,JSTL)是一個(gè)實(shí)現(xiàn)Web應(yīng)用程序中常見的通用功能的定制標(biāo)記庫(kù)集,這些功能包括 :

    1 迭代
    2 條件判斷
    3 數(shù)據(jù)管理格式化
    4 XML操作
    5 數(shù)據(jù)庫(kù)訪問

    JSTL 1.0 有四個(gè)定制標(biāo)記庫(kù):

    1 core
    2 format
    3 xml
    4 sql

    1.core 標(biāo)記庫(kù)提供了定制操作,通過限制了作用域的變量管理數(shù)據(jù),以及執(zhí)行頁(yè)面內(nèi)容的迭代和條件操作。

    2.format 標(biāo)記庫(kù)定義了用來(lái)格式化數(shù)據(jù)(尤其是數(shù)字和日期)的操作。它還支持使用本地化資源束進(jìn)行 JSP 頁(yè)面的國(guó)際化。

    3.xml 庫(kù)包含一些標(biāo)記,這些標(biāo)記用來(lái)操作通過 XML 表示的數(shù)據(jù)。

    4.sql 庫(kù)定義了用來(lái)查詢關(guān)系數(shù)據(jù)庫(kù)的操作。


    二 : 補(bǔ)充 :

    JSP技術(shù)的優(yōu)勢(shì)之一在于其定制標(biāo)記庫(kù)工具。除了核心JSP標(biāo)記,如 jsp:include 之外,定制標(biāo)記庫(kù)工具使您能夠創(chuàng)建唯一的標(biāo)記來(lái)描述以站點(diǎn)或應(yīng)用程序?yàn)閷?dǎo)向的操作。一旦您創(chuàng)建了定制標(biāo)記庫(kù)(簡(jiǎn)稱 taglib),當(dāng)您擴(kuò)展項(xiàng)目或轉(zhuǎn)向另一個(gè)項(xiàng)目時(shí)您可以重復(fù)使用這些標(biāo)記。您還可以將taglib傳遞給其它開發(fā)人員,從而他們可以在自己的網(wǎng)站上使用,或者在您Web應(yīng)用程序的其它部分使用。在這一系列的下一部分,我將向您展示如何創(chuàng)建自己的定制標(biāo)記庫(kù),但現(xiàn)在我們將重點(diǎn)關(guān)注JSP標(biāo)準(zhǔn)標(biāo)記庫(kù)(JSTL)。

    JSTL實(shí)際上是一組標(biāo)準(zhǔn)化用于JSP 1.2的定制標(biāo)記庫(kù)。許多JSTL標(biāo)記都與核心JSP標(biāo)記類似,但它們可以提供更多的功能。例如,

    c:import?標(biāo)記與我們?cè)谇耙徊糠种薪榻B的?include?和?jsp:include?指令極其類似(見?參考資料)。?與include指令一樣,?c:import?可以幫助您讀取(populate)您Web站點(diǎn)或Web應(yīng)用程序的頁(yè)面,但其功能性擴(kuò)展超出了核心JSP標(biāo)記的范疇。?

    在 JSP最佳實(shí)踐這一部分,我們將使用 c:import 標(biāo)記來(lái)了解如何將Web頁(yè)面從JSP轉(zhuǎn)變成JSTL。但是,在開始使用新標(biāo)記之前,我們需要將JSTL裝載到Web容器中。

    JSTL 設(shè)置

    雖然JSTL計(jì)劃捆綁到下一波Web容器中,但您目前必須自己進(jìn)行設(shè)置。按以下步驟操作以將JSTL裝載到Web容器中:

    從 apache.org下載 jakarta-taglibs-standard-current.tar.gz 。

    解壓縮下載的文件。
    將 jakarta-taglibs/standard-1.0.3/tld/c.tld 拷貝到 WEB/INF/tlds 目錄。

    將 jakarta-taglibs/standard-1.0.3/lib 中的所有JAR文件拷貝到 WEB-INF/lib 目錄。

    將以下顯示的條目添加到 WEB-INF/web.xml 部署描述符中。

    < taglib >
    ??
    < taglib-uri > http://java.sun.com/jstl/core </ taglib-uri >
    ??
    < taglib-location > /WEB-INF/tlds/c.tld </ taglib-location >
    </ taglib >


    重啟Web容器。
    這是JSTL設(shè)置的速成版本,它可以滿足大多數(shù)情況。更詳細(xì)信息請(qǐng)參閱 參考資料部分。

    聯(lián)合 JSTL標(biāo)記

    如果您希望在JSP頁(yè)面上使用任何JSTL標(biāo)記,您首先必須在該頁(yè)面上聲明標(biāo)記庫(kù)前綴和URL。我們正在使用核心JSTL庫(kù),因此使用的標(biāo)準(zhǔn)前綴是 c (代表 核心)。表1顯示增加了 taglib 指令的Web站點(diǎn)索引文件:


    表1:索引文件的taglib指令

    < %@?page? language ="java" ?contentType ="text/html" ?% >
    < %@?taglib? prefix ="c" ?uri ="http://java.sun.com/jstl/core" ?% >

    < html >
    ????
    < head >
    ?????????
    < title > newInstance.com </ title >
    ?????????
    < meta? http-equiv ="Content-Type" ?content ="text/html;?charset=iso-8859-1" ? />
    ?????????
    < link? href ="/styles/default.css" ?rel ="stylesheet" ?type ="text/css" ? />
    ????
    </ head >

    ????
    < body >
    ????????
    < jsp:include? page ="header.jsp" ?flush ="true" >
    ?????????????
    < jsp:param? name ="pageTitle" ?value ="/oblog312/newInstance.com" />
    ?????????????
    < jsp:param? name ="pageSlogan" ?value ="?" ? />
    ????????
    </ jsp:include >

    ????????
    < %@?include? file ="/navigation.jsp" ?% >
    ????????
    < jsp:include? page ="bookshelf.jsp" ?flush ="true" ? />

    ????????
    < jsp:include? page ="/mt-blogs/index.jsp" ?flush ="true" ? />

    ????????
    < %@?include? file ="/footer.jsp" ?% >
    ????
    </ body >
    </ html >

    在向JSP頁(yè)面添加了JSTL taglib之后,您可以使用核心庫(kù)中的任何標(biāo)記,只需把標(biāo)記的前綴改為 c 。為了了解這一流程,我們將嘗試把頁(yè)面從 jsp:include 標(biāo)記轉(zhuǎn)換成 c:import 標(biāo)記。 表2顯示了本系列第二部分介紹的 jsp:include 實(shí)例(見 參考資料)轉(zhuǎn)為使用新 c:import 標(biāo)記。


    表2:轉(zhuǎn)為JSTL

    < %@?page? language ="java" ?contentType ="text/html" ?% >
    < %@?taglib? prefix ="c" ?uri ="http://java.sun.com/jstl/core" ?% >

    < html >
    ????
    < head >
    ?????????
    < title > newInstance.com </ title >
    ?????????
    < meta? http-equiv ="Content-Type" ?content ="text/html;?charset=iso-8859-1" ? />
    ?????????
    < link? href ="/styles/default.css" ?rel ="stylesheet" ?type ="text/css" ? />
    ????
    </ head >

    ????
    < body >
    ????????
    < jsp:include? page ="header.jsp" ?flush ="true" >
    ?????????????
    < jsp:param? name ="pageTitle" ?value ="/oblog312/newInstance.com" />
    ?????????????
    < jsp:param? name ="pageSlogan" ?value ="?" ? />
    ????????
    </ jsp:include >

    ????????
    < %@?include? file ="/navigation.jsp" ?% >

    ????????
    < c:import? url ="bookshelf.jsp" ? />
    ????????
    < c:import? url ="/mt-blogs/index.jsp" ? />

    ????????
    < %@?include? file ="/footer.jsp" ?% >
    ????
    </ body >
    </ html >

    這一段程序與前面一段JSP程序之間唯一的區(qū)別是 :

    我們?cè)赾:import?中使用了?url?屬性
    而不是在?jsp:include?中使用?page?屬性

    非常簡(jiǎn)單,是不是?做一個(gè)娛樂性練習(xí),嘗試自己轉(zhuǎn)換一個(gè)頁(yè)面,只需運(yùn)行我們?cè)凇笆褂胘sp:include管理動(dòng)態(tài)內(nèi)容”(本系列第二部分,參閱 參考資料)中使用的JSP程序代碼并將其轉(zhuǎn)換成JSTL,如表2所示。

    如果您進(jìn)行了仔細(xì)研究,您可能注意到我避免改變表2中的header inclusion程序代碼。header程序代碼包含參數(shù),它增加了在此討論的復(fù)雜性。在 JSP 最佳實(shí)踐的下一部分,您將了解如何使用 c:import 來(lái)傳遞參數(shù)。我還將向您介紹 c:import 標(biāo)記的一些特性,它可以提供比簡(jiǎn)單的 jsp:include 標(biāo)記更多的功能。

    posted on 2006-11-26 14:09 一手的小窩窩 閱讀(242) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 国产国拍亚洲精品福利| 久久这里只有精品国产免费10| 免费在线观看黄网| 亚洲综合色7777情网站777| 亚洲人成www在线播放| 四虎在线视频免费观看视频| 美女羞羞喷液视频免费| 成年性生交大片免费看| 日本黄色动图免费在线观看| 在线观看的免费网站无遮挡| 精品无码国产污污污免费网站| 亚洲人成中文字幕在线观看| 99视频免费在线观看| 国产精品亚洲一区二区三区在线| 四虎国产精品免费永久在线| 亚洲AV色香蕉一区二区| 1000部拍拍拍18勿入免费视频软件 | 亚洲一级在线观看| 亚洲免费观看在线视频| 91精品国产亚洲爽啪在线影院| 永久黄色免费网站| 亚洲精品无码专区| 亚洲日韩精品无码专区网站| 青青操免费在线观看| 亚洲第一页在线播放| 黄色a三级免费看| 亚洲欧洲日产国码www| 免费国产黄网站在线观看可以下载| 国产亚洲精品自在久久| 亚洲一区在线免费观看| 亚洲中文字幕无码mv| 亚洲日本在线观看视频| 久久免费观看国产精品88av| 成人亚洲国产va天堂| 久久亚洲AV永久无码精品| 香港a毛片免费观看 | 99ri精品国产亚洲| 日本不卡在线观看免费v| 91成人免费观看在线观看| 亚洲黄色激情视频| 国产亚洲精品精华液|