<!--jstl表达式依赖-->
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-api -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<!--standard标签库-->
<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
EL表达式 ${ }
- 获取数据
- 执行运算
- 获取web开发常用对象
JSP标签(3种)
<%--<jsp:include page="jsptag2.jsp">--%>
<%--
http://localhost:8080/jsptag.jsp?name=yl&age=13
--%>
<jsp:forward page ="/jsptag2.jsp">
<jsp:param name="name" value="yl"/>
<jsp:param name="age" value="13"/>
</jsp:forward>
JSTL表达式
JSTL标签库弥补了HTML标签的不足,可自定义许多标签,其功能和java一样
步骤
- 引入标签库
- 使用其中的方法
-
核心标签(常用)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-
国际化标签(I18N格式化标签)
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
-
数据库标签(SQL标签)
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
-
XML标签
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
-
JSTL标签(EL函数)
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
使用
if
<%--
Created by IntelliJ IDEA.
User: yl
Date: 2022/5/6
Time: 10:34
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--引入JSTL核心标签库--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h4>测试</h4>
<hr>
<%--${param.参数}--%>
<form action="coreif.jsp" method="get">
<input type="text" name="username" value="${param.username}">
<input type="submit" value="注册">
</form>
<%--新用户注册成功,否则失败--%>
<c:if test="${param.username=='user'}" var="notNew">
<c:out value="注册失败,该昵称已存在"/>
</c:if>
<c:if test="${param.username!='user'}" var="isNew">
<c:out value="注册成功"/>
</c:if>
<%--<c:out value="${notNew}"/>--%>
</body>
</html>
choose when
<%@ page import="java.util.Random" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: yl
Date: 2022/5/6
Time: 13:37
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:set var="age" value="19"/>
<c:choose>
<c:when test="${age>=60}">
老年
</c:when>
<c:when test="${age>=40}">
中年
</c:when>
<c:when test="${age>=20}">
青年
</c:when>
<c:when test="${age>=10}">
小孩
</c:when>
</c:choose>
</body>
</html>
foreach
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.ArrayList" %><%--
Created by IntelliJ IDEA.
User: yl
Date: 2022/5/6
Time: 13:30
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
ArrayList<String> lesson = new ArrayList<>();
lesson.add(0,"数学");
lesson.add(1,"物理");
lesson.add(2,"化学");
lesson.add(3,"生物");
lesson.add(4,"代数");
lesson.add(5,"数分");
lesson.add(6,"高数");
lesson.add(7,"百度");
request.setAttribute("list",lesson);
%>
<%--
var 遍历的变量
items 要遍历的对象
begin 起始索引
end 终止索引
step 步长
--%>
<c:forEach var="lesson" items="${list}">
<c:out value="${lesson}"/> <br>
</c:forEach>
<hr>
<c:forEach var="lesson" items="${list}" begin="1" end="5" step="2">
<c:out value = "${lesson}"/> <br>
</c:forEach>
</body>
</html>