JSTL概述
- JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。
- 意义:jstl出现的目的同el一样也是要替换jsp页面中的脚本代码。
JSTL标准标签库
主要用到的是Core子库中的if和forEach标签
环境:需要导入jar包和引入jstl标签库
导入jar包
引入jspl标签库
<%--在jsp页面引入jstl标签库--%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
if标签<c:if>(主要掌握test属性)
test属性判断标签体中的内容表达式返回的boolean值,如果是true执行,false不执行
案例:
<c:if test="${10 > 8 }" var="bl" scope="session">
<h1 style="color: red">10大于8</h1>
</c:if>
forEach标签<c:forEach>(主要掌握var items属性)
案例:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%
//java代码,赋初值
ArrayList<String> strList = new ArrayList<String>();
strList.add("我是list111");
strList.add("我是list222");
strList.add("我是list333");
strList.add("我是list444");
strList.add("我是list555");
strList.add("我是list666");
//将strList放入请求作用域中
request.setAttribute("strList", strList);
%>
%--
items="${strList}" 从域中根据strList这个键获取集合对象
var="str" 每次循环时,jstl会自动将集合中的元素赋给var
每次循环时,jstl会自动将var的值存入pageContext域
varStatus="vs" 这个参数会记录当前循环的一些状态信息
vs.count 可以获取当前循环的次数
--%>
<c:forEach items="${strList}" var="str" varStatus="vs">
<table border="1px" cellspacing="0" cellpadding="0" align="centers">
<thead>
<tr>
<th>顺序</th>
<th>strList值</th>
</tr>
</thead>
<tbody>
<tr>
<td>${
vs.count}</td>
<td>${
str}</td>
</tr>
</tbody>
</table>
</c:forEach>