JSP标准标签库

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

根据JSTL标签所提供的功能,可以将其分为5个类别。

  • 核心标签: 最常用的JSTL标签。
  • 格式化标签: 用来格式化并输出文本、日期、时间、数字。
  • SQL标签: 与关系型数据库(Oracle、MySQL、SQL Server等)进行交互。
  • XML标签: 创建和操作XML文档。
  • JSTL函数标签: 包含一系列标准函数,大部分是通用的字符串处理函数。

在使用JSTL标签前,需要在jsp中对标签库进行引用

<!--引用JSTL标签库  -->
<!--通用标签(c)  -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!--格式化标签(fmt)  -->
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!--函数标签(fn)  -->
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!--SQL标签(sql)  -->
<%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<!--XML标签(x)  -->
<%@taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

除此之外,使用XML标签前,还需要将XML 和 XPath 的相关包拷贝至<Tomcat 安装目录>\lib下

核心标签是JSTL中最常用的标签,所以在这里我只重点介绍一下核心标签。
下面是几种c标签的使用方法:
例如在web项目中经常使用到的重定向,JSTL中就可以使用<c:redirect>重定向标签来实现

<c:if test="${userid==null}">//判断userid中有没有值
	//设置重定向的url
  	<c:redirect url="servlet/UserServlet?fun=toLogin"></c:redirect>
 </c:if>

<c:if>标签就相当于if()表达式,test属性写的是if()括号中的条件语句

但是<c:if>标签就只有if表达式的作用,并不存在else,要实现if…else if…else就要用到<c:choose>、<c:when>和<c:otherwise>标签

	//<c:set>标签可以设置一个值
  <c:set var="name" scope="page" value="小明"></c:set>
  <c:choose>
  	<c:when test="${name eq '小明'}">
  		<c:out value="我叫小明,今年6岁啦"></c:out>
  	</c:when>
	<c:when test="${name eq '小白'}">
		<c:out value="我叫小白,今年10岁"></c:out>
  	</c:when>
  	<c:otherwise>
  		<c:out value="没有这个小朋友"></c:out>
  	</c:otherwise>
  </c:choose>

我们在<c:set>标签中设置name的值为“小明”,所以结果应该是通过<c:out>标签在页面上输出显示“我叫小明,今年6岁啦”
在这里插入图片描述

下表是c标签库中的标签及其作用:

标签描述
<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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值