Java Web之JSP中的JSTL

本文详细介绍了JSTL(JSP标准标签库)在JSP页面中的使用方法,包括设置变量、输出变量、移除变量、条件判断、循环等核心功能。通过实例展示了如何在JSP页面中运用JSTL进行逻辑处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、JSTL

JSTL(JavaServerPages Standard Tag Library)JSP标准标签库,多用于JSP页面中的逻辑判断、循环等使用。
注意:\color{red}注意:使用前必须要导入jstl标签库的jar包。
在这里插入图片描述

2、JSTL的使用

2.1、 通用标签: set、 out、 remove

index.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- 使用taglib指令,导入标签库,prefix属性设置的标签库的别名 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="jstl"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>JSPJSTL</title>
	</head>
	<body>
		设置变量:<jstl:set scope="page" var="num" value="${1+2}"></jstl:set><br>
		输出变量:<jstl:out value="${num}"></jstl:out><br>
		移除变量:<jstl:remove var="num"/><br>
		<%-- 移除后再次尝试输出num这个变量 --%>
		输出变量:<jstl:out value="${num}"></jstl:out><br>
	</body>
</html>

运行结果:
在这里插入图片描述

2.2、条件标签:if choose

index.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- 使用taglib指令,导入标签库,prefix属性设置的标签库的别名 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="jstl"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>JSPJSTL</title>
	</head>
	<body>
		<br>jstl:if 判断<br>
		<jstl:set var='num' value='10'></jstl:set>
		<jstl:if test="${num > 5}">
			num这个数大于5<br>
		</jstl:if>
		
		<br>jstl:choose 选择<br>
		<jstl:choose>
			<jstl:when test="${num < 5}">
				num这个数小于5<br>
			</jstl:when>
			<jstl:when test="${num < 10}">
				num这个数小于10<br>
			</jstl:when>
			<jstl:when test="${num < 15}">
				num这个数小于15<br>
			</jstl:when>
			<jstl:otherwise>
				num这个数不小于15<br>
			</jstl:otherwise>
		</jstl:choose>
	</body>
</html>

运行结果:
在这里插入图片描述

2.3 迭带标签:forEach
①、普通循环

index.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- 使用taglib指令,导入标签库,prefix属性设置的标签库的别名 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="jstl"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>JSPJSTL</title>
	</head>
	<body>
		<br>jstl:forEach 普通循环<br>
		<%-- step步长,默认是1 --%>
		<jstl:forEach var='i' begin='1' end='10' step='2'>
			${i}<br>
		</jstl:forEach>
	</body>
</html>

运行结果:
在这里插入图片描述

②、迭代器
jstl:forEach中的varStatus属性。
指向一个字符串,该字符串引用一个对象。 map.put("vs",一个对象);
这个对象记录着当前遍历的元素的一些信息:
getIndex():返回索引。从0开始
getCount():返回计数。从1开始
isLast():是否是最后一个元素
isFirst():是否是第一个元素

index.jsp文件

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- 使用taglib指令,导入标签库,prefix属性设置的标签库的别名 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="jstl"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>JSPJSTL</title>
		<style type="text/css">
			.odd{
				background-color:pink;
			}
			.even{
				background-color:yellow;
			}
		</style>
	</head>
	<body>
		jstl:forEach 迭代器<br>
		<%
			List<String> strList = new ArrayList<String>();
			strList.add("大桥未");
			strList.add("波多野");
			strList.add("水野朝");
			strList.add("吉泽明");
			//放置到page域中
			pageContext.setAttribute("strList", strList);
		%>
		<table border="1">
			<tr>
				<td>数据</td>
				<td>索引</td>
				<td>第一个</td>
				<td>最后一个</td>
				<td>计数</td>
			</tr>
			<jstl:forEach items="${strList}" var="item" varStatus="vs">
				<tr class=${vs.index%2 == 0 ? 'odd' : 'even'}>
					<td>${item}</td>
					<td>${vs.index}</td>
					<td>${vs.first}</td>
					<td>${vs.last}</td>
					<td>${vs.count}</td>
				</tr>
			</jstl:forEach>
		</table>
	</body>
</html>

运行结果:
在这里插入图片描述
以上就是JSP中JSTL的主要内容,当然JSTL中还有其他标签,这里不再一一演示,用到的时候再去查API即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值