maven依赖
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-api -->
<!-- jstl表达式的依赖-->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<!-- standard标签库-->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
EL表达式作用: ${ }
- 获取数据
- 执行运算
- 获取web开发的常用对象
- 调用java方法 (非重点)
JSP标签
<%-- jsp:forward page="" 跳转另外的页面--%>
<%--http://localhost:8080/jsptag.jsp?name=cong&age=20--%>
<jsp:forward page="jsptag2.jsp">
<jsp:param name="name" value="cong"/>
<jsp:param name="age" value="20"/>
</jsp:forward>
JSTL表达式
JSTL标签库的使用就是为了弥补HTML标签的不足;他自定义了许多标签,可以供我们使用,标签的功能和java代码一样!
格式化标签
SQL标签
XML标签
核心标签(重点掌握)
JSTL标签库使用步骤
- 引入对应的taglib
- 使用其中的方法
- 在Tomcat也需要引入jstl的包,否则也会报错JSTL解析错误
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--引入JSTL核心标签库,我们才能使用JSTL标签--%>
<%--c 表示core标签,当然还有其他标签--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
<html>
<head>
<title>Title</title>
</head>
<body>
<h4>if测试</h4>
<hr>
<form method="get" action="coreif.jsp">
<%--
EL表达式获取表单中的数据
${param.参数名}
--%>
<input type="text" name="username" value="${param.username}">
<input type="submit" value="登录">
</form>
<%--判断如果提交的用户名是管理员,则登录成功--%>
<c:if test="${param.username=='admin'}" var="isAdmin">
<c:out value="管理员欢迎您" />
</c:if>
<c:out value="${isAdmin}" escapeXml="false" />
</body>
</html>
c:choose
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--定义了一个变量score,值为95 --%>
<c:set var="score" value="95" />
<c:choose>
<c:when test="${score >= 90}">
你的成绩为优秀
</c:when>
<c:when test="${score >= 80}">
你的成绩为良好
</c:when>
<c:when test="${score >= 70}">
你的成绩为一般
</c:when>
<c:otherwise>
你的成绩为差
</c:otherwise>
</c:choose>
</body>
</html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
ArrayList<String> people = new ArrayList<>();
people.add(0,"张三");
people.add(1,"李四");
people.add(2,"王五");
people.add(3,"赵六");
request.setAttribute("list", people);
%>
<%--
var ,每一次遍历出来的变量
items , 要遍历的对象
begin, 那里开始
end, 到哪结束
step, 步长
--%>
<c:forEach var="person" items="${list}">
<c:out value="${person}" /> <br>
</c:forEach>
<hr>
<c:forEach var="people" items="${list}" begin="1" end="3" step="2">
<c:out value="${people}" /> <br>
</c:forEach>
</body>
</html>