JSTL快速入门

JSTL快速入门

JSTL:JSP Standard Tag Library的缩写,即JSP标准标签库,是sun的一套标准。.jsp页面上使用

使用优势:

  • 因为.jsp页面主要用于显示的,最好不要写java代码<%%>,如果不用JSTL就得写java代码,方便简洁,代码量少
  • 前端美工人员可能对java代码不太了解,不易于调页面
  • 不必应用各种库了(比如接收的是个一个servlet类传过来的参数,就不用引用该servlet类了,但是如果不用JSTL就的引用该类)

JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

1.添加相应的jar包

image-20220721093727902

2.在.jsp中采用taglib指令引入标签库

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="fmt"%>   
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>    

taglib指定是定义了一个标签库以及自定义标签的前缀,

3.标签的使用

3.1核心标签

<c:out>     用于在JSP中显示数据,就像<%= ... >
<c:set>     用于保存数据
<c:remove>  用于删除数据
<c:catch>   用来处理产生错误的异常状况,并且将错误信息储存起来
<c:if>      与我们在一般程序中用的if一样
<c:choose>  本身只当做<c:when>和<c:otherwise>的父标签
<c:when> <c:choose>的子标签,用来判断条件是否成立
<c:otherwise> <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
<c:import>      检索一个绝对或相对 URL,然后将其内容暴露给页面
<c:forEach>     基础迭代标签,接受多种集合类型
<c:forTokens>   根据指定的分隔符来分隔内容并迭代输出
<c:param>       用来给包含或重定向的页面传递参数
<c:redirect>    重定向至一个新的URL.
<c:url>     使用可选的查询参数来创造一个URL

重点解释:

①<c:forEach>

image-20220721094137379

c:forEach varStatus 属性

  • current: 当前这次迭代的(集合中的)项
  • index: 当前这次迭代从 0 开始的迭代索引
  • count: 当前这次迭代从 1 开始的迭代计数
  • first: 用来表明当前这轮迭代是否为第一次迭代的标志
  • last: 用来表明当前这轮迭代是否为最后一次迭代的标志
  • begin: 属性值
  • end: 属性值
  • step: 属性值
<c:forEach  items="${sessionScope.userList}"  var="userItem"  begin="1"  end="10"  step="3"  varStatus="userStatus"> XXX </c:foreach>

实例解读: 对 session 对象存储的 userList 集合对象进行遍历,每次访问的项暂时存储在 userItem 变量中,从索引 1 开始至索引 10 进行访问,但不是依次访问,每隔 3 个元素访问一次。每次访问项的状态相关值由 userStatus 对象暂存。

<c:foreach> 的 varStatus 属性暂存项的相关状态属性,可由 EL 表达式引用。

${userStatus.index} 此项的索引,从0开始 
${userStatus.count} 此项的计数序号,从1开始 
${userStatus.first} 此项是否是第一项,布尔值 
${userStatus.last} 此项是否是最后一项,布尔值 
${userStatus.begin} 此次迭代的起始索引,对应<c:foreach>中begin属性值 
${userStatus.end} 此次迭代的终止索引,对应<c:foreach>中end属性值 
${userStatus.step} 此次迭代的跳跃步伐,对应<c:foreach>中step属性值  

3.2 格式化标签

<fmt:formatNumber>  使用指定的格式或精度格式化数字
<fmt:parseNumber>   解析一个代表着数字,货币或百分比的字符串
<fmt:formatDate>    使用指定的风格或模式格式化日期和时间
<fmt:parseDate>     解析一个代表着日期或时间的字符串

3.3 JSTL函数

fn:length()     返回字符串长度
fn:split()  将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值