麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

JSTL入門(1):表達式語言

2019-11-18 13:33:26
字體:
來源:轉載
供稿:網友

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

Welcome, member!


  
  

Welcome, guest!


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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久草手机在线视频 | 小视频免费在线观看 | 爱操成人网 | 精品久久久久久久 | av免费在线播放 | 亚洲成人在线视频网 | 精品久久久久久久久久中文字幕 | 青青草成人av | 日韩黄色片免费看 | 亚洲成人福利 | 狠狠干夜夜操 | 亚洲最大的成人网 | 黄色av网站免费 | 久久国产精品系列 | 九九热在线视频免费观看 | 最新亚洲视频 | 激情久久免费视频 | 91短视频在线观看 | 欧美一级美片在线观看免费 | 激情综合在线观看 | 色综合视频 | 在线观看美女av | 成人毛片在线免费观看 | 久久国产精品99国产 | 免费一级毛片网站 | 在线日韩亚洲 | 午夜精品老牛av一区二区三区 | 91看片成人 | 日本中文字幕久久 | 日本一区二区久久 | 极品美女一级毛片 | 中文字幕观看 | 久草在线观看福利视频 | 精品国产精品久久 | 成人毛片100免费观看 | 中文字幕一区二区三区久久 | 欧美毛片在线观看 | 99爱福利视频在线观看 | 神秘电影91 | 精品一区久久久 | 黄视频免费在线观看 |