文章目录
- 一. 概念
- 二. 下载使用
- 三. jsp页面中使用jstl标签
- 四. 核心标签库中常用标签:
- 1. 代码演示
一. 概念
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” %>
四. 核心标签库中常用标签:
- c:if 条件判断标签
- c:set 变量声明标签
- c:out 变量输出标签
- 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>