标签:pre ash 引入 tab 模拟 prefix request 数组 hashmap
JSTL标签库是为JavaWeb开发人员提供的一套标准通用的标签库;
JSTL标签库和EL配合使用可以取代JSP中大部分的Java代码;
引入jar包
jar包地址(可以使用maven方式): https://mvnrepository.com/artifact/Javax.servlet/jstl
jsp头文件写上taglib指令 (可以在uri中查看代码提示, 以core结尾的连接)
prefix: 是命名前缀
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
set标签是往域中添加属性
<c:set var="name" value="张三" scope="request"/>
var属性: 表示指定的属性名
value属性: 表示属性的值
scope属性: 表示往哪个域中添加属性(默认为pageContext最小的域)
可取值: request
, session
, application
等
可以模拟简单的if...else...
例如: 判断成绩小于0或者大于100的都不合法
<c:if test="${score>100 || score<0}">
您的成绩不合法!
</c:if>
例如: 遍历域中的names
<c:forEach var="name" items="${names}">
<li>${name}</li>
</c:forEach>
items属性: 指定要便利的数组或集合
var属性: 指定一个变量, 可用于接收数组或集合中的每一个元素
begin属性:指定循环的起始位置,如果没有指定,则默认从第一个值开始遍历
end属性:指定循环的终止位置,如果没有指定,则默认循环到最后一个
step属性:用于指定循环的步长
varStatus属性:用于指定循环的状态varStatus中的变量如下表:
变量 | 类型 | 描述 |
---|---|---|
index | int | 位于原集合中的索引值(从0开始) |
count | int | 位于现在子集合中的索引值(从1开始,如果没有begin、end和step,则和index一样) |
first | boolean | 是否是现在子集合的第一位 |
last | boolean | 是否是现在子集合的最后一位 |
forEach案例1: 获取map元素
<%
Map map = new HashMap();
map.put("name", "尼古拉斯.赵四");
map.put("age", 35);
map.put("addr", "中国");
request.setAttribute("map", map);
%>
<c:forEach var="entry" items="${map}">
${entry}<br>
</c:forEach>
结果:
name=尼古拉斯.赵四
addr=中国
age=35
如果单独获取key或者value, 可以这么写
<c:forEach var="entry" items="${map}">
${entry.key} : ${entry.value}<br>
</c:forEach>
forEach案例2: 测试varStatus属性
<%
String[] name = {
"刘备", "关羽", "张飞", "赵云"
};
request.setAttribute("names", name);
%>
<c:forEach var="name" items="${names}" varStatus="status">
${status.first}, ${status.last}, ${status.count}, ${status.index}, ${name} <br>
</c:forEach>
结果:
true, false, 1, 0, 刘备
false, false, 2, 1, 关羽
false, false, 3, 2, 张飞
false, true, 4, 3, 赵云
forEach案例3: 输出1~100内的3的倍数
<c:forEach var="i" begin="1" end="100" step="1">
${i%3==0? i : ""}
</c:forEach>
结果:
3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99
标签用来显示一个表达式的结果,与<%= %>作用相似
<c:out value="<string>" default="<string>" escapeXml="<true|false>"/>
Java switch语句的功能一样,用于在众多选项中做出选择。
<c:choose>
<c:when test="<boolean>">
...
</c:when>
<c:when test="<boolean>">
...
</c:when>
...
...
<c:otherwise>
...
</c:otherwise>
</c:choose>
when中的test属性数判断条件, 如果满足, 则会显示标签体的内容, 如果都不满足, 则会显示otherwise标签中的内容
标签:pre ash 引入 tab 模拟 prefix request 数组 hashmap
原文地址:https://www.cnblogs.com/zpKang/p/13123762.html