JSTL(JavaServer Pages Standard Tag Library)是一组用于简化JSP页面开发的标签库,它提供了一组常用的标签,如条件判断、循环、格式化等,使得开发者可以更快速地开发和维护JSP应用程序,以下是一些常见的JSTL标签及其用法示例:
引入JSTL库
你需要在项目中引入JSTL库,如果你使用的是Maven项目,可以在pom.xml
文件中添加以下依赖:
<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
在JSP页面中引入JSTL标签库
在你的JSP页面的顶部引入JSTL标签库:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
使用JSTL标签
3.1 用于条件判断: 3.2 用于多条件判断: 3.3 用于循环遍历集合: 3.4 用于输出转义后的文本: 3.5 用于格式化日期: 3.6 用于执行SQL查询: 下面是一个完整的示例,展示了如何使用上述JSTL标签: 这个示例展示了如何使用JSTL标签来进行条件判断、循环遍历和日期格式化,通过这些标签,你可以大大简化JSP页面的开发过程。<c:if>
<c:if test="${condition}">
<!-condition 为 true,则显示此内容 -->
</c:if>
<c:choose>
,<c:when>
,<c:otherwise>
<c:choose>
<c:when test="${condition1}">
<!-condition1 为 true,则显示此内容 -->
</c:when>
<c:when test="${condition2}">
<!-condition2 为 true,则显示此内容 -->
</c:when>
<c:otherwise>
<!-如果以上条件都不满足,则显示此内容 -->
</c:otherwise>
</c:choose>
<c:forEach>
<c:forEach var="item" items="${collection}">
<!-对每个 item 进行操作 -->
${item}
</c:forEach>
<c:out>
<c:out value="${text}" />
<fmt:formatDate>
<fmt:formatDate value="${date}" pattern="yyyy-MM-dd" />
<sql:query>
<sql:setDataSource var="dataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mydb" user="root" password="password" />
<sql:query dataSource="${dataSource}" var="result">
SELECT * FROM my_table;
</sql:query>
<c:forEach var="row" items="${result.rows}">
${row.columnName}
</c:forEach>
示例代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!DOCTYPE html>
<html>
<head>
<title>JSTL Example</title>
</head>
<body>
<h1>Welcome to JSTL Example</h1>
<c:set var="name" value="John Doe" />
<c:if test="${not empty name}">
Hello, ${name}!
</c:if>
<br/>
<c:choose>
<c:when test="${name == 'John Doe'}">
User is John Doe.
</c:when>
<c:otherwise>
User is not John Doe.
</c:otherwise>
</c:choose>
<br/>
<c:forEach var="i" begin="1" end="5">
Number: ${i} <br/>
</c:forEach>
<br/>
Current Date: <fmt:formatDate value="${pageContext.request.time}" pattern="yyyy-MM-dd HH:mm:ss"/>
</body>
</html>