JSTL标签库
JSTL是由SUN公司提供的简化JSP页面设计的标签,JSTL是由Core标签库、格式化标签库、SQL、XML、Functionns五个核心标签库组成,其中最重要的是Core标签库和格式化标签库。JSTL和EL表达上一起使用。
使用JSTL前,需要下载有JSTL的jar包,如果不知道在哪里下载,下载那个版本,可以借助AI帮我们分析并找到下载链接。
JSTL核心标签库
使用Core标签要导入Core核心标签库:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2.1<c:if>标签
<c:if>标签作用:相当于Java中的if语句
属性:test:条件语句,用于判断标签体是否可以被执行,接受Boolean表达式,如果表达式true,显示标签里内容,若false,隐藏标签内容;
var:将test条件语句执行的结果保存在var声明的变量中
scope:var的存储空间,默认为page
注意:<c:if>标签没有else情况,可以再定义一个<c:if>达到else情况
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% request.setAttribute("number", 80); %> <c:if test="${number}>=90">优秀</c:if> <br> <c:if test="${number}>=80&&${number}<90">良好</c:if> </body> </html>2.2 <c:choose>标签
<c:choose>标签相当于Java代码的swtich语句,<c:when>标签相当于Java代码的case语句,<c:otherwise>标签相当于Java代码的default语句
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% request.setAttribute("number", 3);%> <c:choose> <c:when test="${number==1}">星期一</c:when> <c:when test="${number==2}">星期二</c:when> <c:when test="${number==3}">星期三</c:when> <c:when test="${number==4}">星期四</c:when> <c:when test="${number==5}">星期五</c:when> <c:when test="${number==6}">星期六</c:when> <c:when test="${number==7}">星期天</c:when> <c:otherwise>数字有误!</c:otherwise> </c:choose> </body> </html>2.3<c:forEach>标签
<c:forEach>标签标签相当于Java代码的for语句
(1)完成重复的操作
for(int i=0;i<10;i--){}
属性:begin:开始值
end:结束值
var:临时变量
step:步长
varStatus:循环状态对象
index:容器中元素的索引,从0开始
count:循环次数,从1开始
(2)遍历容器
List<User> list;
for(User user:list){}
属性: items:容器对象
var:容器中元素的临时对象
varStatus:循环状态对象
index:容器中元素的索引,从0开始
count:循环次数,从1开始
<%@ page contentType="text/html;charset=UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <style>ul{list-style-type:none;}</style> </head> <body> <%-- <c:forEach begin="1" end="10" var="i" step="1" varStatus="s"> ${i } ${s.index } ${s.count }<br> </c:forEach> --%> <% String[] fruits={"苹果","香蕉","橘子"}; request.setAttribute("fruits", fruits); %> <c:forEach items="${fruits }" var="fruit"> <ul> <li>${fruit}</li> </ul> </c:forEach> </body> </html>