JSTL(JavaServer Pages Standard Tag Library)
JSTL(JavaServer Pages Standard Tag Library,JSP標準標籤庫)是一個不斷完善的開放原始碼的JSP標籤庫。
之前有學過c++的STL,剛開始還以為JSTL是java的STL。。。
大致簡介:
JSTL 1.0 釋出於 2002 年 6 月,由四個定製標記庫(core、format、xml 和 sql)和一對通用標記庫驗證器(ScriptFreeTLV 和 PermittedTaglibsTLV)組成。core 標記庫提供了定製操作,通過限制了作用域的變數管理資料,以及執行頁面內容的迭代和條件操作。它還提供了用來生成和操作 URL 的標記。顧名思義,format 標記庫定義了用來格式化資料(尤其是數字和日期)的操作。它還支援使用本地化資源束進行 JSP 頁面的國際化。xml 庫包含一些標記,這些標記用來操作通過 XML 表示的資料,而 sql 庫定義了用來查詢關係資料庫的操作。
如果要使用JSTL,則必須將jstl.jar和 standard.jar檔案放到classpath中,如果你還需要使用XML processing及Database access (SQL)標籤,還要將相關JAR檔案放到classpath中,這些JAR檔案全部存在於下載回來的zip檔案中。菜鳥教程JSTL中有。
常用標籤:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <c:set var="name" scope="scope" value="expression"/> <-- scope 屬性是可選的,其預設值是 page --> <c:remove var="timezone" scope="session"/> <c:out value="expression" default="expression" escapeXml="boolean" />
escapeXml 屬性也是可選的。它控制當用 <c:out> 標記輸出諸如“<”、“>”和“&”之類的字元(在 HTML 和 XML 中具有特殊意義)時是否應該進行轉義。如果將 escapeXml 設定為 true,則會自動將這些字元轉換成相應的 XML 實體(此處提到的字元分別轉換成 < 、 > 和 & )。
<c:forEach items="<object>" begin="<int>" end="<int>" step="<int>" var="<string>" varStatus="<string>">
屬性 | 描述 | 是否必要 | 預設值 |
---|---|---|---|
items | 要被迴圈的資訊 | 否 | 無 |
begin | 開始的元素(0=第一個元素,1=第二個元素) | 否 | 0 |
end | 最後一個元素(0=第一個元素,1=第二個元素) | 否 | Last element |
step | 每一次迭代的步長 | 否 | 1 |
var | 代表當前條目的變數名稱 | 否 | 無 |
varStatus | 代表迴圈狀態的變數名稱 | 否 | 無 |
varStatus 對應的是一個物件,有屬性index表示當前索引號,count表示da計數(從1開始)