一. 概念

JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库。它主要提供给JavaWeb开发人员一个标准通用的标签,开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

需要注意的是:

  • jstl中需要获取值的地方一般都要配合EL表达式去使用。
  • jstl在jsp中使用的,如果项目中没有jsp就不能用。

二. 下载使用

jstl标签需要先下载,才能使用。

下载地址:
http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

  • 下载完成之后,解压,进入lib目录:jstl.jar 、standard.jar这两个jar包就是我们需要的。
  • 将jar拷贝到项目的lib目录下即可。

三. jsp页面中使用jstl标签

需要使用taglib指令引入标签库:<%@ taglib prefix="" uri="" %>

  • prefix:表示前缀名,就是在jsp页面引入标签的标识
  • uri:标签库的地址

jstl标签库提供了多个标签库给我们使用,我们需要掌握的有:

  • 核心标签库:<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
  • 格式化标签库:<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
  • 函数标签库:<%@ taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %>

四. 核心标签库中常用标签:

  1. c:if 条件判断标签
  2. c:set 变量声明标签
  3. c:out 变量输出标签
  4. c:foreach 集合遍历标签

在这里插入图片描述

1. 代码演示

在这里插入图片描述
在这里插入图片描述

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--核心标签库--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--格式化标签库--%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%--函数标签库--%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
    <title>JSTL标签练习</title>
</head>
<body>
    <%--jstl常用标签练习--%>

    <%--if标签:条件判断,类似java里面的if语句
        test表示条件,返回布尔类型的值,值为true的时候,显示if标签内容,值为false就不显示if标签内容
        test里面的表达式通常配合EL表达式使用
    --%>
    <c:if test="${10 > 5}">
        这是需要显示的if条件内容!
    </c:if>
    <%--set 标签:在作用域中声明变量并赋值
      var相当于声明变量名称
      value 变量的初始化值
      scope 声明变量所在作用域
    --%>

    <%--表示在session作用域声明变量num值是23--%>
    <c:set var="num" scope="session" value="23"></c:set>
    <%--out标签:输出变量
      value表示输出的作用域中的变量
    --%>
    <p>作用域中的num值是:</p>
    <c:out value="${num}"></c:out>

    <hr>
    <%--forEach集合遍历标签:遍历集合对象的标签
       items遍历的目标集合对象
       var集合对象中的元素
       step遍历集合的步长
       begin遍历的开始位置
       end遍历的结束位置
       varStatus 元素位置状态:index 集合中元素索引
                               count 集合中元素的位置
    --%>
    <%--输出20以内的整数--%>
    <c:forEach var="num" step="2" begin="1" end="20">
        ${num} <br>
    </c:forEach>
    <hr>
    <%--输出一个作用域中的集合--%>
    <%
        //创建整数集合
        List<Integer> list = new ArrayList<>();
        list.add(12);
        list.add(34);
        list.add(45);
        list.add(1);
        list.add(345);
        //将集合存储到作用域对象
        request.setAttribute("numList", list);
    %>
    <%--使用jstl标签获取作用域集合数据--%>
    <c:forEach items="${numList}" var="num" varStatus="vs">
        ${num}======${vs.count}====${vs.index}  <br>
    </c:forEach>
</body>
</html>
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐