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>
    ​

     

 

 

posted @ 2022-03-28 19:08  gzs1024  阅读(97)  评论(0)    收藏  举报