1.什么是JSTL标签库
EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本(在jsp页面中写java代码)。这样使得整个 jsp 页面
变得更佳简洁
2. JSTL标签库怎么使用,有哪些内容
- 先导入 jstl 标签库的 jar 包。
taglibs-standard-impl-1.2.1.jar
taglibs-standard-spec-1.2.1.jar - 第二步,使用 taglib 指令引入标签库。 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- 注意点 lib目录要放在WEB_INF目录下,否则会导致路径出错
3.有哪些内容
- <c:if />
if 标签用来做 if 判断 - <c:choose> <c:when> <c:otherwise>
- 标签里不能使用 html 注释,要使用 jsp 注释 when 标签的父标签一定要是 choose 标签
<%--
iii.<c:choose> <c:when> <c:otherwise> 标签
作用:多路判断。跟 switch ... case .... default 非常接近
choose 标签开始选择判断
when 标签表示每一种判断情况
test 属性表示当前这种判断情况的值
otherwise 标签表示剩下的情况
<c:choose> <c:when> <c:otherwise> 标签使用时需要注意的点:
1 、标签里不能使用 html 注释,要使用 jsp 注释
2 、 when 标签的父标签一定要是 choose 标签
--%>
<c:choose>
<c:when test="${height > 190}">
<h2>小巨人</h2>
</c:when>
<c:when test="${height > 180}">
<h2>很高</h2>
</c:when>
<c:when test="${height > 170}">
<h2>还可以</h2>
</c:when>
<c:otherwise>
<h2>有点矮</h2>
</c:otherwise>
</c:choose>
作用:多路判断。跟 switch ... case .... default 非常接近
4.ForEach标签
<%--1. 遍历 1 到 10 ,输出
begin 属性设置开始的索引
end 属性设置结束的索引
var 属性表示循环的变量 ( 也是当前正在遍历到的数据 )
for (int i = 1; i < 10; i++)
--%>
<c:forEach begin="1" end="10" var="i">
${i}
</c:forEach>
ForEach遍历map集合
<%
HashMap<String, Object> map = new HashMap<>();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
map.put("key4","value4");
for (Map.Entry<String, Object> entry : map.entrySet()) {
}
request.setAttribute("map",map);
%>
<c:forEach items="${requestScope.map}" var="entry">
${entry}<br>
</c:forEach>