JSP 標準標記庫(JSP Standard Tag Library,JSTL)是一個實現 Web 應用程序中常見的通用功能的定制標記庫集,這些功能包括迭代和條件判斷、數據管理格式化、XML 操作以及數據庫訪問。
EL是 JSTL 經過簡化的表達式語言,它允許在不必使用功能齊全的編程語言的情況下對 JSTL 操作指定動態屬性值。
首先,JSTL現在采用獨立于JSP標記的規范來定義。因此,即使JSP規范發生改動,也可以保證JSTL標記的一致性。容易受到JSP容器變更影響的許多應用程序都將受益于JSTL規范。 其次,JSTL具有比核心JSP標記更強大的功能,正如您在最佳實踐系列中所視, c:import不僅 可以導入其它站點的URL,而且,它還可以導入 jsp:include 標記不可用的更為復雜的內容。 最后,JSTL使用自己的表達式語言(expression language,EL)。JSTL EL可以相當靈活地寫入JSP代碼,是對核心JSP語言的有力補充。
在JSP2.0中,通過使用 JSTL + EL,可以開發出沒有 Scriptlets 的 JSP 。這就使得 JSP 的開發非常簡單,非 JAVA 程序員都能勝任。另外,通過使用 JSTL,可以使編程的代碼量大大減少。
developerWords中國 JSTL入門系列: 第1部分, " JSTL 入門:表達式語言" (2003年2月) 通過將常用功能包裝到定制標記庫的標準集合中,JSTL 使 JSP 作者可以減少對編制腳本元素的需求,甚至可以不需要它們,并避免了相關的維護成本。 第2部分, " JSTL 入門:探討 core" (2003年3月) JSTL core 庫為一些基本功能(如,管理限定了作用域的變量和與 URL 交互等)和基本操作(如,迭代和條件化)提供了定制標記。這些標記不僅可以由頁面設計人員直接利用,而且還為與其它 JSTL 庫相結合從而提供更復雜的表示邏輯奠定了基礎。
第3部分, " JSTL 入門:表示就是一切" (2003年4月) JSTL fmt 庫中的定制標記支持通過資源束對文本內容進行本地化,并支持對數字和日期的顯示和解析。
第4部分, " JSTL 入門:訪問SQL和XML內容" (2003年5月) 如果您愿意接受將業務邏輯包含到表示層的結果,這兩個庫中的標記都使其能夠非常輕松地將XML文件和關系數據庫中的內容結合到JSP頁面。這兩個庫還展示了當集成<sql:query> 和<c:forEach>時,JSTL庫如何構建和集成,以及xml 庫利用<c:import> 操作的能力。 其他: JSP 2.0: The New Deal, Part 1 EL 函數部分 當 EL 從 JSTL 規范中移到 JSP 規范中,它使用了一個如何進行函數調用的技巧。這個EL函數語法非常簡單:方法名,緊接著在圓括號中有一組參數: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> ${fn:length(myCollection)}
pageContext: 提供對頁面屬性的訪問。 ${pageContext.request.contextPath} 返回請求的上下文路徑 等內置屬性。