JSTL是为了弥补html的不足,标签的功能和java代码的效果一样
项目报错
(java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSupport)
- tomcat的lib目录少jar包(需要手动导入)
- 就少一个包,就少jstl-api
- 在maven仓库下载,或者先引入dependency,再导包,
标签百度教程多的是
代码的大致形状如下
<%@ page import="java.util.ArrayList" %><%--
Created by IntelliJ IDEA.
User: KittyGuy
Date: 2021/2/11
Time: 13:43
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="C" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<jsp:forward page="error.jsp"></jsp:forward><%-- 请求转发 --%>
<form action="test.jsp" method="get">
<label>
<input type="text" name="user" value="${param.user}">
</label>
<input type="submit" name="发送">
</form>
<c:if test="${param.user=='admin'}" var="isT">
<c:out value="管理员大欢迎"></c:out>
</c:if>
<c:out value="${isT}"></c:out><%--Like <%= ... >--%>
<br>
<c:set var="score" value="90"/><%--定义变量--%>
<c:choose>
<c:when test="${score<90}"><%--条件语句--%>
小于90
</c:when>
<c:when test="${score>=90}">
大于等于90
</c:when>
</c:choose>
<br>
<% ArrayList<String> number = new ArrayList<>();
number.add("三");
number.add("四");
number.add("五");
request.setAttribute("list",number);
%>
<c:forEach var="n" items="${list}"><%--for(ArrayList n:list)--%>
<c:out value="${n}"></c:out><br><%-- print(n)--%>
</c:forEach>
<br>
<c:forEach var="c" items="${list}" begin="1" end="2" step="1">
<c:out value="${c}"></c:out><br>
</c:forEach>
</body>
</html>