jstl標籤的用法(一)

來源:互聯網
上載者:User

今天用了一下jstl標籤,總結一下。

首先下載jstl的標籤庫jakarta-taglibs-standard-current.zip,解壓後將裡面lib檔案夾下的jstl.jar 和 standard.jar 兩個jar包拷到自己工程WEB-INF\lib下,將標籤庫中的tld檔案夾,拷到自己工程WEB-INF下,

在頁面中引入對應的jstl的taglib,例如如果使用core標籤,則引入:

<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>

然後即可使用jstl標籤了。

下面總結一下core標籤的用法:

頁面引入<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>

1.<c:out>

作用:輸出字元,用來代替<%out.println("...")%>,或者<%= %>來輸出對象的值。

例子:

<c:out value="${user.id}" default="0" escapeXml="false"/><c:out value="${user.id}" escapeXml="false">0</c:out><c:out value="${user.id}" default="0" /><c:out value="${user.id}" />

2.<c:set>

作用:為變數或JavaBean中的變數屬性賦值,用來代替<% request.setAttribute("", "") %>,其中的request也可以是page、session、application等。

例子:

<c:set var="name" value="this is set example" scope="request"/><c:set var="user2" value="${user}" scope="request"/><c:set target="${user}" property="name" value="hay, my name is xiaoming"/>

3.<c:remove>

作用:刪除存在於scope中的變數。用來代替<%request.removeAttribute(",,,")%> 等。其中的request也可以是page、session、application等內建對象。

例子:

<c:remove var="user" scope="session"/><c:remove var="user" scope="request"/>

4.<c:catch>

作用:用於捕獲JSP元素拋出的異常,當錯誤發生<c:catch>和</c:catch>之間時,出錯代碼會被忽略,但整個網頁不會中止。它包含一個var屬性,是一個描述異常的變數,該變數可選。若沒有var屬性的定義,那麼僅僅捕捉異常而不做任何事情,若定義了var屬性,則可以利用var所定義的異常變數進行判斷轉寄到其他頁面或提示報錯資訊。

 例子:

<c:catch var="pring"> <%  String a = (String)request.getAttribute("zeze");  out.println(a.equals("")); %></c:catch><if:test=${pring!=null } >occur error!</if:test>

5.<c:if>

作用:當測試運算式為true時,執行測試體代碼。

例子:

<if:test=${username=='user' } >welcome, user</if:test> 

6.<c:choose>

作用:用於嵌套<c:when>和<c:otherwise>動作。<c:choose>標籤可以嵌套1個或多個<c:when>標籤,0個或1個<c:otherwise>標籤。

例子:

<c:choose><c:when test="${username=='xiaoming'}">welcome, xiaoming</c:when><c:when test="${username=='xiaohong'}">welcome, xiaohong</c:when><c:otherwise>sorry, you are not xiaoming or xiaohong</c:otherwise></c:choose>

7.<c:when>

作用:等價於“if”語句,它包含一個test屬性,表示需要判斷的條件。

例子:見 <c:choose>

 

8.<c:otherwise>

作用:等價於“else”語句,不包括任何屬性。

例子:見 <c:choose>

 

9. <c:forEach>

作用:相當與for迴圈,執行固定次數的body體中的代碼。

例子:

<c:forEach var="item" begin="1" end="10" step="2">${item} </c:forEach><c:forEach items="${userList}" var="user" >${user.username}</c:forEach>

10. <c:forTokens>

作用:可以根據某個分隔字元分隔指定字串,相當於 java.util.StringTokenizer類。

例子:

<c:forTokens items="a,b,d,agc,bcd,haha" delims="," var="item">${item}</c:forTokens>

11. <c:import>

作用:包含另一個JSP頁面到本頁面來,類似於jsp中的<jsp:include>

例子:

<c:import url="http://www.163.com" ><c:import url="http://www.163.com" >  <c:param name="test" value="1234" /></c:import> 

12. <c:url>

作用:產生一個url

例子:

<c:url value="http://www.163.com" ><c:param name="name" value="xiaoming"/>  </c:url><a href="<c:url value="http://www.163.com" ><c:param name="name" value="xiaoming"/></c:url>">網易</a>

13. <c:redirect>

作用:重新導向

例子:

<c:redirect url=http://www.163.com>    <c:param name="param" value="value"/> </c:redirect> 

14. <c:param>

作用:用於傳遞參數

例子:見<c:import>,<c:url>,<c:param>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.