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