1. 程式人生 > 其它 >javaweb學習19:JSP, JSTL標籤

javaweb學習19:JSP, JSTL標籤

javaweb學習19:JSP, JSTL標籤

  • JSP標籤:3種

    <jsp:include />

    <%--頁面轉發:
       http://localhost:8080/jsptag.jsp?name=張三&age=12
    --%>
    <jsp:forward page="/jsptag2.jsp">
       <jsp:param name="name" value="張三"/> //引數
       <jsp:param name="age" value="12"/> //引數
    </jsp:forward>

 

  • JSTL標籤庫:

    • JSTL標籤庫的使用就是為了彌補HTML標籤的不足;它自定義了許多標籤,可以供我們使用,標籤的功能和Java程式碼一樣!

       

    • 核心標籤:(掌握部分即可)

    • 格式化標籤:

    • SQL標籤:

    • XML標籤:

 

  • JSTL標籤庫使用步驟:

    • 引入對應的taglib:

      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    • 使用其中的方法;

    • 在Tomcat也需要引入jstl包,否則也會報taglib的錯誤;

 

  • EL表示式:(EL:Expression Language)

    • 語法:

      EL表示式語法:
      ${ }
    • 作用:

      • 獲取資料;

      • 執行運算;

      • 獲取web開發的常用物件;

       

    • 依賴包:

      <!-- JSTL表示式的依賴 -->
      <dependency>
         <groupId>javax.servlet.jsp.jstl</groupId>
         <artifactId>jstl-api</artifactId>
         <version>1.2</version>
      </dependency>

      <!-- standard標籤庫 -->
      <dependency>
         <groupId>taglibs</groupId>
         <artifactId>standard</artifactId>
         <version>1.1.2</version>
      </dependency>

 

  • 程式碼案例:JSTL,EL表示式

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>

    <%--引入JSTL核心標籤庫,我們才能使用JSTL標籤
       prefix="c":c代表core
    --%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    <html>
    <head>
       <title>Title</title>
    </head>
    <body>

    <h4>if測試</h4>

    <hr>

    <form action="coreif.jsp" method="get">
      <%--
           EL表示式獲取表單中的資料:
           ${param.引數名}
       --%>
       <input type="text" name="username" value="${param.username}">
       <input type="submit" value="登入">

    </form>

    <%--判斷如果提交的使用者名稱是管理員,則登入成功 --%>
    <c:if test="${param.username == 'admin'}" var="isAdmin">
       <c:out value="管理員歡迎你"/>
    </c:if>
    <c:out value="${isAdmin}"/>


    </body>
    </html>

     

  • 程式碼案例:JSTL標籤:<c:set ; <c:choose ; <c:when

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
       <title>Title</title>
    </head>
    <body>

    <%--定義一個變數score,值為85 --%>
    <c:set var="score" value="85"/>


    <c:choose >
       <c:when test="${score>=90}">
          你的成績為優秀!
       </c:when>
       <c:when test="${score>=60}">
          你的成績為良好!
       </c:when>
       <c:when test="${score<=60}">
          你的成績為差!
       </c:when>
    </c:choose>



    </body>
    </html>

     

  • 程式碼案例:<c:forEach

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page import="java.util.ArrayList" %><%--
     Created by IntelliJ IDEA.
     User: lujiaxiang
     Date: 2022/3/28
     Time: 18:52
     To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
       <title>Title</title>
    </head>
    <body>

    <%
       ArrayList<String> people = new ArrayList<>();
       people.add(0,"張三");
       people.add(1,"李四");
       people.add(2,"王五");
       people.add(3,"趙六");
       request.setAttribute("list",people);
    %>

    <%--
       var:每一次遍歷出來的變數;
       times:要遍歷的物件
    --%>
    <c:forEach var="people" items="${list}">
       <c:out value="${people}"/>
       <br>
    </c:forEach>

    <hr>

    <%--
       var:每一次遍歷出來的變數;
       times:要遍歷的物件
       begin:哪裡開始
       end:到哪裡
       step:步長
    --%>
    <c:forEach  var="people" items="${list}" begin="1" end="3" step="2">
       <c:out value="${people}"/>
    </c:forEach>


    </body>
    </html>