Java-JSTL標籤

  1. 概念:JavaServer Pages Tag Library JSP標準標籤庫
  2. 做用:用於簡化和替換jsp頁面上的java代碼
  3. 使用標籤:
    1. 導入jstl相關jar包
    2. 引入標籤庫:taglib指令:<%@ taglib %>
    3. 使用標籤
  4. 常見的JSTL標籤
    1. if :至關於java代碼的if語句
      1. 屬性:
        • test必須屬性,接受boolean表達式
        • 若是表達式爲true,則顯示if標籤體內容,若是爲false,則不顯示標籤體內容
        • 通常狀況下,test屬性值會結合el表達式一塊兒使用
      2. 注意:c:if標籤沒有else狀況,想要else狀況,則能夠再定義一個c:if標籤
    2. choose :至關於java的switch語句
      1. 使用choose標籤取出數字 至關於switch聲明
      2. 使用when標籤作數字判斷 至關於case
      3. otherwise標籤作其餘狀況的聲明 至關於default
    3. foreach :至關於java的for循環語句
  5. 練習:
    • 需求:在request域中有一個存有User對象的List集合,須要使用jstl+el將list集合數據展現到jsp頁面的表格table中

c:if判斷標籤

<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>if標籤</title>
</head>
<body>
<%--
c:if標籤
    1.屬性:
        * test必須屬性,接受boolean表達式
            * 若是表達式爲true,則顯示if標籤體內容,若是爲false,則不顯示標籤體內容
            * 通常狀況下,test屬性值會結合el表達式一塊兒使用
    2.注意:c:if標籤沒有else狀況,想要else狀況,則能夠再定義一個c:if標籤
--%>
<c:if test="true">
    我是真...
</c:if>
<br>
<%
    //判斷request域中的一個list集合爲是否爲空,若是不爲null則顯示遍歷集合
    List list=new ArrayList();
    list.add("aaaa");
    request.setAttribute("list",list);

    request.setAttribute("number",3);
%>

<c:if test="${not empty list}">
    遍歷list集合.....
</c:if>
<br>
<c:if test="${number%2!=0}">
    ${number}爲奇數...
</c:if>
<c:if test="${number%2==0}">
    ${number}爲偶數...
</c:if>

</body>
</html>

c:choose與c:when標籤

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>choose標籤</title>
</head>
<body>
<%--
    完成數字編號對應的是星期幾
        1.域中存儲一數字
        2.使用choose標籤取出數字  至關於switch聲明
        3.使用when標籤作數字判斷  至關於case
        4.otherwise標籤作其餘狀況的聲明 至關於default

--%>
<%
    request.setAttribute("number",3);
%>
<c:choose>
    <c:when test="${number==1}">星期一</c:when>
    <c:when test="${number==2}">星期二</c:when>
    <c:when test="${number==3}">星期三</c:when>
    <c:when test="${number==4}">星期四</c:when>
    <c:when test="${number==5}">星期五</c:when>
    <c:when test="${number==6}">星期六</c:when>
    <c:when test="${number==7}">星期天</c:when>
    <c:otherwise>數字輸入有誤</c:otherwise>
</c:choose>
</body>
</html>

forEach遍歷標籤

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>foreach標籤</title>
</head>
<body>
<%--
foreach:至關於java代碼的for語句
    1.完成重複操做
        for(int i=0;i<10;i++){
        }
        * 屬性:
            begin:開始值
            end:結束值
            var:臨時變量
            step:步長
            varStatus:循環狀態對象
                    index:容器中元素的索引,從0開始
                    count:循環次數,從1開始
    2.遍歷容器
        List<User> list;
        for(User user:list){
        }
        items:容器對象
        var:容器中的臨時變量
        varStatus:循環狀態對象
            index:容器中元素的索引,從0開始
            count:循環次數,從1開始
--%>
<c:forEach begin="1" end="10" var="i" step="2" varStatus="s">
    <h2>${i}  ${s.index} ${s.count} </h2><br>
    ${s}<br>
</c:forEach>
<hr>
<%
    List list=new ArrayList();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");

    request.setAttribute("list",list);
%>
<c:forEach items="${list}" var="str" varStatus="s">
  <h2>${s.index} ${s.count} ${str}</h2>
</c:forEach>
</body>
</html>

對象列表輸出案例

<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="cn.itcast.domain.User" %>
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
    <title>Test</title>
</head>
<body>
<%
    List list=new ArrayList();
    list.add(new User("張三",23,new Date()));
    list.add(new User("李四",24,new Date()));
    list.add(new User("王五",25,new Date()));

    request.setAttribute("list",list);
%>
<table border="1" width="500" align="center">
    <tr>
        <th>編號</th>
        <th>姓名</th>
        <th>年齡</th>
        <th>生日</th>
    </tr>
<%--    數據行--%>
    <c:forEach items="${list}" var="user" varStatus="s">
        <c:if test="${s.count%2==0}">
            <tr bgcolor="#faebd7">
                <td>${s.count}</td>
                <td>${user.name}</td>
                <td>${user.age}</td>
                <td>${user.birStr}</td>
            </tr>
        </c:if>
        <c:if test="${s.count%2!=0}">
            <tr bgcolor="aqua">
                <td>${s.count}</td>
                <td>${user.name}</td>
                <td>${user.age}</td>
                <td>${user.birStr}</td>
            </tr>
        </c:if>
    </c:forEach>
</table>
</body>
</html>
相關文章
相關標籤/搜索