JSTL标签库
简介
JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言,JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!
作用
用来提升在JSP页面的逻辑代码的编码效率,使用标签来替换逻辑代码的直接书写,高效,美观,整洁,易读。
使用JSTL
JSTL的核心标签库(重点)
JSTL的格式化标签库(讲解)
JSTL的SQL标签库(了解)
JSTL的函数标签库(了解)
JSTL的XML标签库(了解)
JSTL的核心标签库
导入jar包
声明jstl标签库的引入(核心标签库)
1
<%"c" uri="http://java.sun.com/jsp/jstl/core" %> prefix=
内容
基本标签:
< c:out value="数据" default="默认值"/>
数据可以为常量值也可以是EL表达式
作用:将数据输出给客户端
< c:set var="键名" value="数据" scope="作用域对象(page/request/session/application)"/>
作用:存储数据到作用域对象中
< c:remove var="键名" scope="作用域对象"/>
作用:删除作用域中的指定键的数据
注意:如果在不指定作用域的情况使用该标签删除数据,会将四个作用域对象中的符合要求的数据全删掉
逻辑标签:
< c:if test="${表达式}" >前端代码< /c:if >
作用:进行逻辑判断,相当于java代码的单分支判断
注意:逻辑判断标签需要依赖于EL的逻辑运算,也就表达式中涉及到数据必须从作用域中获取
< c:choose>
< c:when test="">执行内容< /c:when>
。。。
< c:when test="">执行内容< /c:when>
< c:otherwise>执行内容< /c:otherwise>
< /c:choose>
作用:用来进行多条件的逻辑判断,类似java的多分支语句
注意:条件成立只会执行一次,都不成立则执行otherwise
循环标签:
< c:forEach begin="循环开始位置(1)" end="循环结束位置(4)" step="设置步长(2)" varStatus="变量(声明变量记录每次循环的数据(角标、次数、是否是第一次循环、是否是最后一次循环))">
循环体
< /c:forEach>
作用:循环内容进行处理
注意:数据存储在作用域中,需要使用EL表达式获取(例如:\({vs.index}--\){vs.count}--\({vs.first}--\){vs.last})
< c:forEach items="要遍历的对象(${list})" var="值(str)">
循环体
< /c:forEach>