国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

JSTL入門(1):表達(dá)式語(yǔ)言

2019-11-18 13:33:26
字體:
供稿:網(wǎng)友

  通過避免使用腳本編制元素來簡(jiǎn)化對(duì) jsp 應(yīng)用程序的軟件維護(hù)
  
  
  JSP 標(biāo)準(zhǔn)標(biāo)記庫(kù)(JSP Standard Tag Library,JSTL)是一個(gè)實(shí)現(xiàn) Web 應(yīng)用程序中常見的通用功能的定制標(biāo)記庫(kù)集,這些功能包括迭代和條件判定、數(shù)據(jù)治理格式化、xml 操作以及數(shù)據(jù)庫(kù)訪問。在developerWorks 上其新系列的第一篇文章中,軟件工程師 Mark Kolb 向您展示了如何使用 JSTL 標(biāo)記來避免在 JSP 頁(yè)面中使用腳本編制元素。您還將了解如何通過從表示層刪除源代碼來簡(jiǎn)化軟件維護(hù)。最后,您將了解 JSTL 經(jīng)過簡(jiǎn)化的表達(dá)式語(yǔ)言,它答應(yīng)在不必使用功能齊全的編程語(yǔ)言的情況下對(duì) JSTL 操作指定動(dòng)態(tài)屬性值。
  
  javaServer Pages(JSP)是用于 J2EE 平臺(tái)的標(biāo)準(zhǔn)表示層技術(shù)。JSP 技術(shù)提供了用于執(zhí)行計(jì)算(這些計(jì)算用來動(dòng)態(tài)地生成頁(yè)面內(nèi)容)的腳本編制元素和操作。腳本編制元素答應(yīng)在 JSP 頁(yè)面中包括程序源代碼,在為響應(yīng)用戶請(qǐng)求而呈現(xiàn)頁(yè)面時(shí)可以執(zhí)行這些源代碼。操作將計(jì)算操作封裝到很象 Html 或 XML 標(biāo)記的標(biāo)記中,JSP 頁(yè)面的模板文本通常包含這些標(biāo)記。JSP 規(guī)范只將幾種操作定義成了標(biāo)準(zhǔn),但從 JSP 1.1 開始,開發(fā)人員已經(jīng)能夠以定制標(biāo)記庫(kù)的方式創(chuàng)建其自己的操作了。
  
  JSP 標(biāo)準(zhǔn)標(biāo)記庫(kù)(JSTL)是 JSP 1.2 定制標(biāo)記庫(kù)集,這些標(biāo)記庫(kù)實(shí)現(xiàn)大量服務(wù)器端 Java 應(yīng)用程序常用的基本功能。通過為典型表示層任務(wù)(如數(shù)據(jù)格式化和迭代或條件內(nèi)容)提供標(biāo)準(zhǔn)實(shí)現(xiàn),JSTL 使 JSP 作者可以專注于特定于應(yīng)用程序的開發(fā)需求,而不是為這些通用操作“另起爐灶”。
  
  當(dāng)然,您可以使用 JSP 腳本編制元素(scriptlet、表達(dá)式和聲明)來實(shí)現(xiàn)此類任務(wù)。例如,可以使用三個(gè) scriptlet 實(shí)現(xiàn)條件內(nèi)容,清單 1 中著重顯示了這三個(gè) scriptlet。但是,因?yàn)槟_本編制元素依靠于在頁(yè)面中嵌入程序源代碼(通常是 Java 代碼),所以對(duì)于使用這些腳本編制元素的JSP 頁(yè)面,其軟件維護(hù)任務(wù)的復(fù)雜度大大增加了。例如,清單 1 中的 scriptlet 示例嚴(yán)格地依靠于花括號(hào)的正確匹配。假如不經(jīng)意間引入了一個(gè)語(yǔ)法錯(cuò)誤,則條件內(nèi)容中的嵌套其它 scriptlet 可能會(huì)造成嚴(yán)重破壞,并且在 JSP 容器編譯該頁(yè)面時(shí),要使所產(chǎn)生的錯(cuò)誤信息有意義可能會(huì)很困難。
  
  清單 1. 通過 scriptlet 實(shí)現(xiàn)條件內(nèi)容
  
  

Welcome, member!


  
  

Welcome, guest!


  
  
  
  
  修正此類問題通常需要相當(dāng)豐富的編程經(jīng)驗(yàn)。盡管通常會(huì)由十分精通頁(yè)面布局和圖形設(shè)計(jì)的設(shè)計(jì)人員來開發(fā)和維護(hù) JSP,但是同一頁(yè)面中的腳本編制元素出現(xiàn)問題時(shí),需要程序員的介入。這種狀況將單個(gè)文件中代碼的責(zé)任分擔(dān)給多人,因而使得開發(fā)、調(diào)試和增強(qiáng)此類 JSP 頁(yè)面成為很麻煩的任務(wù)。通過將常用功能包裝到定制標(biāo)記庫(kù)的標(biāo)準(zhǔn)集合中,JSTL 使 JSP 作者可以減少對(duì)編制腳本元素的需求,甚至可以不需要它們,并避免了相關(guān)的維護(hù)成本。
  
  JSTL 1.0
  JSTL 1.0 發(fā)布于 2002 年 6 月,由四個(gè)定制標(biāo)記庫(kù)(core、format、xml 和 sql)和一對(duì)通用標(biāo)記庫(kù)驗(yàn)證器(ScriptFreeTLV 和 PermittedTaglibsTLV)組成。core 標(biāo)記庫(kù)提供了定制操作,通過限制了作用域的變量治理數(shù)據(jù),以及執(zhí)行頁(yè)面內(nèi)容的迭代和條件操作。它還提供了用來生成和操作URL 的標(biāo)記。顧名思義,format 標(biāo)記庫(kù)定義了用來格式化數(shù)據(jù)(尤其是數(shù)字和日期)的操作。它還支持使用本地化資源束進(jìn)行 JSP 頁(yè)面的國(guó)際化。xml 庫(kù)包含一些標(biāo)記,這些標(biāo)記用來操作通過 XML 表示的數(shù)據(jù),而 sql 庫(kù)定義了用來查詢關(guān)系數(shù)據(jù)庫(kù)的操作。
  
  兩個(gè) JSTL 標(biāo)記庫(kù)驗(yàn)證器答應(yīng)開發(fā)人員在其 JSP 應(yīng)用程序中強(qiáng)制使用編碼標(biāo)準(zhǔn)。可以配置 ScriptFreeTLV 驗(yàn)證器以在 JSP 頁(yè)面中禁用各種類型的 JSP 腳本元素 ― scriptlet、表達(dá)式和聲明。類似地,PermittedTaglibsTLV 驗(yàn)證器可以用來限制可能由應(yīng)用程序的 JSP 頁(yè)面訪問的定制標(biāo)記庫(kù)集(包括 JSTL 標(biāo)記庫(kù))。
  
  盡管 JSTL 最終將會(huì)成為 J2EE 平臺(tái)的必需組件,但目前只有少數(shù)應(yīng)用程序服務(wù)器包括它。JSTL 1.0 的參考實(shí)現(xiàn)可作為 Apache 軟件基金會(huì)(Apache Software Foundation)的 Jakarta Taglibs 項(xiàng)目(請(qǐng)參閱參考資料)的一部分而獲得。可以將該參考實(shí)現(xiàn)中的定制標(biāo)記庫(kù)合并到任何支持 JSP 1.2 和 Servlet 2.3 規(guī)范的服務(wù)器,以添加對(duì) JSTL 的支持。
  
  表達(dá)式語(yǔ)言
  在 JSP 1.2 中,可以使用靜態(tài)字符串或表達(dá)式(假如答應(yīng)的話)指定 JSP 操作的屬性。例如,在清單 2 中,對(duì) 操作的 name 和 PRoperty 屬性指定了靜態(tài)值,而用表達(dá)式指定了其 value 屬性。這個(gè)操作的效果是將請(qǐng)求參數(shù)的當(dāng)前值賦予命名的 bean 特性。以這種形式使用的表達(dá)式被稱為請(qǐng)求時(shí)屬性值(request-time attribute value),這是構(gòu)建到 JSP 規(guī)范中的用于動(dòng)態(tài)指定屬性值的唯一機(jī)制。
  
  清單 2. 合并請(qǐng)求時(shí)屬性值的 JSP 操作
    value='

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长海县| 高密市| 陕西省| 广河县| 宁武县| 苏尼特左旗| 镇坪县| 玉田县| 楚雄市| 肇东市| 阳西县| 育儿| 乐清市| 通州区| 武平县| 扶沟县| 建宁县| 中西区| 峨山| 韶关市| 行唐县| 冕宁县| 卢氏县| 寿阳县| 太白县| 莱芜市| 桃园县| 永济市| 方正县| 江达县| 曲麻莱县| 厦门市| 汨罗市| 紫阳县| 黑水县| 汝阳县| 大石桥市| 济宁市| 丰县| 陆丰市| 大姚县|