JSP標準標籤庫:JSTL,jsp標準標籤jstl

來源:互聯網
上載者:User

JSP標準標籤庫:JSTL,jsp標準標籤jstl

JSTL(JSP Standard Tag Library),JSP標準標籤庫,可以嵌入在jsp頁面中使用標籤的形式完成商務邏輯等功能。

jstl出現的目的同el一樣也是要代替jsp頁面中的指令碼代碼。

JSTL標準標準標籤庫有5個子庫,但隨著發展,目前常使用的是他的核心庫

 

1.JSTL下載與匯入

JSTL下載:

從Apache的網站下載JSTL的JAR包。進入       

“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”網址下載 JSTL的安裝包。

jakarta-taglibs-standard-1.1.2.zip,然後將下載好的JSTL安裝包 進行解壓,此時,在lib目錄下可以看到兩個JAR檔案,分別為jstl.jar和standard.jar。    

其中,jstl.jar檔案包含JSTL規範中定義的介面和相關類,standard.jar檔案包含用於實現JSTL的.class檔案以及JSTL中5個標籤庫描述符檔案(TLD)

將兩個jar包匯入我們工程的lib中

 jsp檔案匯入方式:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 2.JSTL核心庫的常用標籤

if標籤樣本:

    <%        request.setAttribute("count", 10);    %>    <!-- jstl標籤經常會和el配合使用 -->    <!-- test代表的返回boolean的運算式 -->    <c:if test="${count==9 }">        xxxx    </c:if>    

 

for迴圈樣本:

    <!-- forEach類比        for(int i=0;i<=5;i++){            System.out.println(i)        }     -->     <c:forEach begin="0" end="5" var="i">         ${i }<br/>     </c:forEach>

 

增強for迴圈:

    <!-- 類比增強for    productList---List<Product>        for(Product product : productList){            System.out.println(product.getPname());        }     -->     <!-- items:一個集合或數組   var:代表集合中的某一個元素-->     <c:forEach items="${productList }" var="pro">         ${pro.pname }     </c:forEach>

 

if標籤的簡單應用:

根據使用者是否登入而顯示不同的資訊:

    <%        //類比使用者已經登入成功        User user = new User();        user.setId(100);        user.setName("張三");        user.setPassword("123");        session.setAttribute("user", user);    %>

 

            <!-- 使用者沒有登入 -->            <c:if test="${empty user}">                <li><a href="login.jsp">登入</a></li>                <li><a href="register.jsp">註冊</a></li>            </c:if>            <!-- 使用者已經登入 -->            <c:if test="${!empty user}">                <li>${user.name }</li>                <li><a href="#">退出</a></li>            </c:if>

 

for迴圈(forEach)標籤樣本:

    <%        //類比List<String> strList        List<String> strList = new ArrayList<String>();        strList.add("qwer");        strList.add("asdf");        strList.add("zxcv");        strList.add("1234");        request.setAttribute("strList", strList);                //遍曆List<User>的值        List<User> userList = new ArrayList<User>();        User user1 = new User();        user1.setId(2);        user1.setName("lisi");        user1.setPassword("123");        userList.add(user1);        User user2 = new User();        user2.setId(3);        user2.setName("wangwu");        user2.setPassword("123");        userList.add(user2);        application.setAttribute("userList", userList);                //遍曆Map<String,String>的值        Map<String,String> strMap = new HashMap<String,String>();        strMap.put("name", "lucy");        strMap.put("age", "18");        strMap.put("addr", "China");        strMap.put("email", "lucy@qq.cn");        session.setAttribute("strMap", strMap);                //遍曆Map<String,User>的值        Map<String,User> userMap = new HashMap<String,User>();        userMap.put("user1", user1);        userMap.put("user2", user2);        request.setAttribute("userMap", userMap);                            %>                <h1>取出strList的資料</h1>    <c:forEach items="${strList }" var="str">        ${str }<br/>    </c:forEach>        <h1>取出userList的資料</h1>    <c:forEach items="${userList}" var="user">        user的name:${user.name }------user的password:${user.password }<br/>    </c:forEach>        <h1>取出strMap的資料</h1>    <c:forEach items="${strMap }" var="entry">        ${entry.key }====${entry.value }<br/>    </c:forEach>        <h1>取出userMap的資料</h1>    <c:forEach items="${userMap }" var="entry">        ${entry.key }:${entry.value.name }--${entry.value.password }<br/>    </c:forEach>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.