apache开发的一套jsp标签,后来捐献给了sun,sun将其命名为jsp standard taglib,简称为jstl
1.导入依赖
<dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>2.使用taglib指令导入jsp标签
<%@ taglib uri="" prefix=""%> uri属性:指定jsp标签的命名空间。 注: 命名空间是为了区分同名的元素在元素前添加 的一段说明。为了防止命名空间也冲突,经常使用域名来允当命名空间。 prefix属性:指定命名空间的别名。语法
<c:if test="" var="" scope=""> 标签体 </c:if>用法:
a.当test属性值为true,执行标签体的内容。 b.test属性可以使用el表达式来计算。 c.var属性用来指定绑订名,scope属性指定绑订范围 (可以是 page,request,session,application), 绑订值是test属性值。语法:
<c:choose> <c:when test=""> 标签体 </c:when> <c:otherwise> </c:otherwise> </c:choose>用法:
a.when可以出现1次或者多次,相当于一个if语句,当 test属性值为true时,执行标签体的内容。 b.otherwise可以出现0次或者1次,相当于最后那个else(表示例外)。语法:
<c:forEach items="" var="" varStatus=""> </c:forEach>用法:
a.用来遍历集合或者数组。 b.items属性用来指定要遍历的集合或者数组,可以 使用el表达式来赋值。 c.var属性用来指定绑订名。 注: 绑订范围固定是pageContext。 该标签每次从集合或者数组中取一个元素,然后将 该元素绑订到pageContext上。 d.varStatus属性用来指定绑订名。 注: 绑订范围固定是pageContext。 绑订值是一个特殊的对象,该对象由该标签内部创建,用来获得当前遍历的状态。比如,该对象提供 了如下几个方法: getIndex(): 获得当前正在被遍历的元素的下标(从0开始)。 getCount():获得当前正在被遍历的元素的序号(从1开始)。标签类的要求: 继承SimpleTagSupport类, ,重写doTage方法,在该方法里写处理逻辑, 标签有哪些属性,标签类找那个也得有对用的属性且属性名相同, 类型匹配,还得有set方法;
在该方法中写逻辑,提供了getJspContext();