JSTL(JSP Standard Tag Library)是一组自定义 JSP 标签的集合,用于简化 JSP 页面的开发和维护。JSTL 提供了一些常用的标签库,例如条件判断、循环遍历、格式化输出等,可以直接在 JSP 页面中使用这些标签,而无需编写复杂的 Java 代码。
JSTL 还提供了 EL(Expression Language)表达式的支持,可以在 JSP 页面中使用${expression} 的方式来获取和操作页面数据。
在上面的代码中,uri 属性指定了 JSTL 库的地址,prefix 属性指定了库的前缀,其中 c 为自定义的前缀名称。
常用的 JSTL 标签包括:
- c:if:条件判断标签,根据条件执行不同的流程;
- c:forEach:循环遍历标签,根据集合或数组进行遍历;
- c:set:变量赋值标签,将数值保存到指定的变量中;
- c:choose、c:when、c:otherwise:类似于 switch 和 case 语句,当表达式的值等于指定的值时,执行指定的标签体;
- c:out:格式化输出标签,将数据输出到页面上;
- c:url:URL 标签,生成基于当前 URL 路径的新 URL。
1、<c:if> 标签:
一个条件判断标签,用于执行条件判断和条件分支。当 test 属性的值为 true 时,执行标签体内的内容;否则,跳过标签体内的内容。
下面是 <c:if> 标签的详细属性说明:
- test:指定一个表达式,用于判断是否执行标签体内的内容。表达式可以包含 EL 表达式、JavaBean 属性以及一些比较运算符。
- var:指定一个变量名,用于将 test 属性的值应用到一个变量中,可以在后续中使用该变量。
下面演示如何使用 <c:if> 标签进行条件判断:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head><title>条件判断示例</title></head>
<body>
<c:if test="${param.id == 1}">
<h2>您的 ID 是 1,欢迎您来到这里。</h2>
</c:if>
<c:if test="${empty user