JSP入門之標(biāo)準(zhǔn)標(biāo)記庫(JSTL)介紹
JSP入門一、不用JSTL時jsp頁面的代碼示例
例1. 通過 scriptlet 實現(xiàn)條件內(nèi)容
(scriptlet:包含一個有效的程序段。任何文本,HTML標(biāo)記,JSP元素必須在scriptlet之外 )
- <% if (user.getRole() == "member")) { %>
- <p>Welcome, member!< /p>
- <% } else { %>
- <p>Welcome, guest!< /p>
- <% } %>
修正此類問題通常需要相當(dāng)豐富的編程經(jīng)驗。盡管通常會由十分精通頁面布局和圖形設(shè)計的設(shè)計人員來開發(fā)和維護 JSP,但是同一頁面中的腳本編制元素出現(xiàn)問題時,需要程序員的介入。這種狀況將單個文件中代碼的責(zé)任分擔(dān)給多人,因而使得開發(fā)、調(diào)試和增強此類 JSP 頁面成為很麻煩的任務(wù)。通過將常用功能包裝到定制標(biāo)記庫的標(biāo)準(zhǔn)集合中,JSTL 使 JSP 作者可以減少對編制腳本元素的需求,甚至可以不需要它們,并避免了相關(guān)的維護成本。
JSP入門二、介紹JSTL 1.0
JSTL 1.0 發(fā)布于 2002 年 6 月,由四個定制標(biāo)記庫(core、format、xml 和 sql)和一對通用標(biāo)記庫驗證器(ScriptFreeTLV 和 PermittedTaglibsTLV)組成。
core 標(biāo)記庫提供了定制操作,通過限制了作用域的變量管理數(shù)據(jù),以及執(zhí)行頁面內(nèi)容的迭代和條件操作。它還提供了用來生成和操作 URL 的標(biāo)記。
format 標(biāo)記庫定義了用來格式化數(shù)據(jù)(尤其是數(shù)字和日期)的操作。它還支持使用本地化資源束進行 JSP 頁面的國際化。
xml 庫包含一些標(biāo)記,這些標(biāo)記用來操作通過 XML 表示的數(shù)據(jù)
sql 庫定義了用來查詢關(guān)系數(shù)據(jù)庫作。
JSP入門三、表達式語言(EL)
EL 表達式的格式是這樣的:用美元符號($)定界,內(nèi)容包括在花括號({})中。
例2. 說明 EL 表達式定界符的 JSTL 操作
- < c:out value="${user.firstName}"/>
例3. 組合靜態(tài)文本和多個 EL 表達式以指定動態(tài)屬性值
- < c:out value="Hello ${user.firstName} ${user.lastName}"/>
JSP入門四、Taglib 偽指令
例4. 用于 JSTL core 庫 EL 版本的 taglib 偽指令
- < %@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
JSP入門五、變量標(biāo)記
例5中顯示了該操作的語法,其中 var 屬性指定了變量的名稱,scope 屬性表明了該變量駐留在哪個作用域中,value 屬性指定了分配給該變量的值。如果指定變量已經(jīng)存在,則簡單地將所指明的值賦給它。如果不存在,則創(chuàng)建新的限制了作用域的變量,并用該值初始化這個變量。
例5. < c:set>操作的語法
- < c:set var="name" scope="scope" value="${user.firstName}"/>
【編輯推薦】