1. jstl标签的基本概述
JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样, 也是要放到jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是它的核心库Core
标签库 | 标签库的URI | 前缀 |
Core | c | |
I18N (过时了) | fmt | |
SQL (过时了) | sql | |
XML (过时了) | x | |
Functions (过时了) | fn |
2. jstl标签的安装
导入jar包
javax.servlet.jsp.jstl.jar
standard.jar
使用taglib指令在jsp页面导入要使用的jstl标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
属性:
- prefix 标签库的前缀
- uri 标签库的地址
在jsp书写"<c:",看到如下提示,说明安装成功:
3. 常用的jstl标签
jstl的核心标签内容有很多,现在目前还常用的标签只有if、foreach标签。
3.1 if标签
if标签作用
起到java代码的判断的作用
if标签属性介绍
- test:判断是否执行标签内的内容(true——执行标签中的内容,false,不执行)。
- var:用来保存test属性的结果(使用var属性给他取个名字),这个结果可以保存到指定的web域中, 默认保存在pageContext域。
- scope:指定保存数据的到哪个web域。
eg:
- 使用if标签控制标签是否出现
<%
pageContext.setAttribute("num",5);
%>
<c:if test="${num >5}">
<div>num >5</div>
</c:if>
<c:if test="${num <=5}">
<div>num <=5</div>
</c:if>
- 将判断结果 保存到var属性中, 并指定存到的域对象
<c:if test="${1>2}" var="bool" scope="page">
</c:if>
${bool}
3.2 forEach标签
3.2.1 forEach标签作用
起到java代码的for循环作用
3.2.2 forEach标签属性介绍
3.2.3 数字循环
var:在不循环对象的时候,保存的是控制循环的变量;
begin:设置循环的开始
end:设置循环的结束
step:设置步长
<c:forEach begin="1" end="5" step="1" var="a">
<div>${a}</div>
</c:forEach>
3.2.4 列表循环
var:在循环对象的时候,保存的是被循环对象中的元素
items:指定要被循环的对象
varStatus:保存了当前循环过程中的信息(循环的开始、结束、步长、次数等)
<%
String[] strings = {"i","love","u"};
pageContext.setAttribute("strings",strings);
%>
<c:forEach items="${strings}" var="strItem" varStatus="vs">
<div>${strItem}---${vs.index}--${vs.count}</div>
</c:forEach>