JSTL標簽庫
JSTL標簽庫的使用是為類彌補html表的不足,規范自定義標簽的使用而誕生的。在告別模式開發應用程序後,人們開始注重軟件的分層設計,不希望在jsp頁面中出現java邏輯代碼,同時也由於自定義標簽的開發難度較大和不利於技術標准化產生了自定義標簽庫。
JSTL標簽庫可分為5類:
(1).核心標簽庫
(2).I18N格式化標簽庫
(3).SQL標簽庫
(4).XML標簽庫
(5).函數標簽庫
1.核心標簽庫
JSTL的核心標簽庫標簽共13個,從功能上可以分為4類:表達式控制標簽、流程控制標簽、循環標簽、URL操作標簽。使用這些標簽能夠完成JSP頁面的基本功能,減少編碼工作。
(1)表達式控制標簽:out標簽、set標簽、remove標簽、catch標簽。
(2)流程控制標簽:if標簽、choose標簽、when標簽、otherwise標簽。
(3)循環標簽:forEach標簽、forTokens標簽。
(4)URL操作標簽:import標簽、url標簽、redirect標簽。
<%@ taglib %>引入標簽庫
1、以classPath中,加入jar包: standard-1.1.2.jar , jstl-1.1.2.jar
2、在相目\WEB-INF\tld\文件夾中放入常用的tld文件:c.tld,fmt.tld
3、在JSP頁面引入核心標簽庫的代碼為:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
1.1 表達式控制標簽
表達式控制分類中包括<c:out>、<c:set>、<c:remove>、<c:chtch>4個標簽,現在分別介紹它們的功能和語法。
1.1.1<c:out>標簽:【功能】:用來顯示數據對象(字符串、表達式)的內容或結果。
在使用Java腳本輸出時常使用的方式為:
<% out.println(“字符串”)%>
<%=表達式%>
在web開發中,為了避免暴露邏輯代碼會盡量減少頁面中的Java腳本,使用<c:out>標簽就可以實現以上功能。
<c:out value=”字符串”>
<c:out value=”EL表達式”>
提示:JSTL的使用是和EL表達式分不開的,EL表達式雖然可以直接將結果返回給頁面,但有時得到的結果為空,<c:out>有特定的結果處理功能,
EL的單獨使用會降低程序的易讀性,建議把EL的結果輸入放入<c:out>標簽中。
<c:out>標簽的使用有兩種語法格式。
【語法1】:<c:out value=”要顯示的數據對象” [escapeXml=”true|false”] [default=”默認值”]>
【語法2】:<c:out value=”要顯示的數據對象” [escapeXml=”true|false”]>默認值</c:out>
這兩種方式沒有本質的區別,只是格式上的差別。標簽的屬性介紹如下。
value:指定要輸出的變量或表達式。
escapeXml:設定是否轉換特殊字符(如<、>等一些轉義字符),在默認值為true的情況下直接在輸出<的,如果改為false將會進行轉義輸出“<”等。
default:為默認輸出結果。如果使用表達式得到的結果為null(注意與空區別),將會輸出默認結果。
1.1.2<c:set>標簽:【功能】:主要用於將變量存取於JSP范圍中或JavaBean屬性中。