jstl

    技术2024-11-09  13

    jstl

    1.jstl什么是jstl如何使用jstlif标签 choose标签 forEach标签 2.自定义标签1.写一个java类,继承SimpleTagSupport类,2重写doTag方法3.在.tld文件里面描述该标签![在这里插入图片描述](https://img-blog.csdnimg.cn/2020070409355077.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMDg0MzI1,size_16,color_FFFFFF,t_70)

    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();

    3.在.tld文件里面描述该标签

    Processed: 0.016, SQL: 9