目录
1.JSTL标签库介绍
2.JSTL 标签库的使用步骤
3.core核心库使用
3.1 <c:set>
3.2 <c:if />
3.3 <c:choose> <c:when> <c:otherwise >标签
3.4 <c:forEach />
1.JSTL标签库介绍
JSTL 标签库,全称是指 JSP Standard Tag Library jsp标准标签库。是一个不断完善的开源代码jsp标签库。
EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本,这样使得整个jsp页面变得更加简洁。
JSTL 由五个不同功能的标签库组成

在jsp标签库中使用taglib指令引入标签库
CORE标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

2.JSTL 标签库的使用步骤
1. 先导入jstl标签库的jar包;

2.使用taglib指令引入标签库;
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3.core核心库使用
3.1 <c:set>
作用:set 标签可以往域中保存数据
<body><%-- <c:set />作用:set 标签可以往域中保存数据域对象.setAttribute(key,value);scope 属性设置保存到哪个域page 表示pageContext域 (默认值)request 表示Request域session 表示Session域application 表示ServletContext域key是多少value多少--%>保存之前:${requestScope.abc} <br/><c:set scope="request" var="abc" value="abcValue"></c:set>保存之后:${requestScope.abc} <br/>
</body>
输出结果:
保存之前:
保存之后:abcValue
3.2 <c:if />
if 标签用来做if判断。
<%-- test属性表示判断的条件(使用EL表达式) --%><c:if test="${12 == 12}"> <h1> 12 == 12 </h1></c:if><c:if test="${12 != 13}"> <h1> 12 != 13 </h1></c:if>
输出结果:
12==12
12!=13
3.3 <c:choose> <c:when> <c:otherwise > 标签
作用:多路判断。跟switch case default 非常接近。
注意点:
1.标签里不能使用html注释;要使用jsp注释;
2.when标签的父标签一定要是choose标签;
<%-- choose标签开始选择判断,when标签表示每一种判断情况test 属性表示当前这种情况判断的值otherwise 表示剩下的情况 --%><%request.setAttribute("height",168);%><c:choose><c:when test="${requestScope.height > 190 }"><h3>小巨人</h3></c:when><c:when test="${requestScope.height > 180 }"><h3>很高</h3></c:when><c:when test="${requestScope.height > 170 }"><h3>还可以</h3></c:when><c:otherwise>剩下小于170</c:otherwise></c:choose>
3.4 <c:forEach />
作用:遍历输出使用。
1. 遍历1 到 10 的输出;
<body><%-- 1.遍历1到10,输出 --%><%-- begin 属性设置开始的索引end 属性设置结束的索引var 属性表示循环的变量(也是当前正在遍历到的数据)--%><c:forEach begin="1" end="10" var="i"><h1>第${i}行<br/><h1></c:forEach>
</body>
2. 遍历Object数组
<%-- 2. 遍历Object数组 --%><%-- items 表示遍历的数据源(遍历的集合)var 表示当前遍历到的数据 --%><%request.setAttribute("arr",new String[]{"10086","10001","10010"});%><c:forEach items="${requestScope.arr}" var="item">${item}<br/></c:forEach>
3.遍历map集合
<%-- 3.遍历map集合 --%><%-- --%><%Map<String,Object> map = new HashMap<String,Object>();map.put("key1","value1");map.put("key2","value2");map.put("key3","value3");map.put("key4","value4");request.setAttribute("map",map);%><c:forEach items="${requestScope.map}" var="entry">${entry}<br/>${entry.key}<br/>${entry.value}<br/></c:forEach>
4. 遍历集合
<%--4.遍历list集合 --%><%-- --%><%List<Student> list = new ArrayList<Student>();for(int i =1;i<=10;i++){list.add(new Student(i,"username"+i,"password"+i,i,"phone"+i));}request.setAttribute("studentList",list);%><table><tr><th>编号</th><th>用户名</th><th>密码</th><th>年龄</th><th>电话</th><th>操作</th></tr><c:forEach items="${requestScope.studentList}" var="student"><tr><td>${student.id}</td><td> ${student.username}</td><td> ${student.password}</td><td> ${student.age}</td><td>${student.phone}</td><td>修改,删除</td></tr></c:forEach></table>
集合遍历中标签属性:
<%-- items 表示遍历的集合var 表示遍历到的数据begin表示遍历的开始索引值end 表示结束的索引值step属性表示遍历的步长值--%>
<table><tr><th>编号</th><th>用户名</th><th>密码</th><th>年龄</th><th>电话</th><th>操作</th></tr><%-- items 表示遍历的集合var 表示遍历到的数据begin表示遍历的开始索引值end 表示结束的索引值step属性表示遍历的步长值--%><c:forEach begin="" end="8" step="2" varStatus="status" items="${requestScope.studentList}" var="student"><tr><td>${student.id}</td><td> ${student.username}</td><td> ${student.password}</td><td> ${student.age}</td><td>${student.phone}</td><td>修改,删除</td><td>${status.index}</td></tr></c:forEach></table>










![出现504怎么办?由于服务器更新导致的博客报504错误[详细记录]](https://img-blog.csdnimg.cn/5f89ade4ae604d9083fedac37d1d3155.png)





