25jstl标准标签库

本文详细介绍了JSTL(JavaServer Pages Standard Tag Library)的各个组成部分,包括核心标签、格式化标签、SQL标签、XML标签及JSTL函数等,深入探讨了它们在JSP应用中的使用方法和功能,如变量设置、条件判断、循环处理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jstl标准标签库
jstl简介
JSP标准标签库(JSTL,JavaServer Pages Standard Tag Library)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
jstl分类
核心标签
核心标签库主要用于完成jsp页面的常用功能,包括jstl的表达式标签、url标签、流程控制标签和循环标签。
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
格式化标签
格式化标签提供了一个简单的国际化标记,也被称为I18N标签库,用于处理和解决国际化相关的问题。格式化标签库还包含用于格式化数字和日期显示格式的标签。
<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
SQL 标签
sql标签库提供了基本的访问关系型数据的能力。使用sql标签,可以简化对数据库的访问。如果结合核心标签库,可以方便的获取结果集,并迭代输出结果集中的数据。
<%@ taglib prefix=“sql” uri=“http://java.sun.com/jsp/jstl/sql” %>
XML 标签
xml标签库可以处理和生成xml的标记,使用这些标记可以很方便的开发基于xml的web应用。
<%@ taglib prefix=“x” uri=“http://java.sun.com/jsp/jstl/xml” %>
JSTL 函数
函数标签库提供了一系列字符串操作函数,用于完成分解字符串、连接字符串、返回子串、确定字符串是否包含特定的子串等功能。
<%@ taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %>
<c:out>输出标签
<c:out>标签用于将表达式的值输出到jsp页面,类似于el表达式${expression}
<c:out value=“expression” [escapeXml=“true|false”] [default=“defaultValue”]/>
<c:out value=“expression” [escapexml=“true|false”]>
defaultValue
</c:out>

<%–escapeXml属性值为true时,输出字符串中的标签以字符串的形式输出–%>
<%–escapeXml属性值为fasle时,输出字符串中的标签以html标记进行输出–%>
<%–escapeXml属性默认为true–%>
<c:set>变量设置标签
<c:set>标签用于在指定作用域范围(page、request、session、application)中定义保存某个值的变量,或为指定的对象设置属性值。
1、在scope指定的作用域范围将变量值存储到变量中
<c:set var=“name” value=“value” [scope=“范围”]/>
2、在scope指定的作用域范围内将标签体存储到变量中
<c:set var=“name” [scope=“page|request|session|application”]>
标签体
</c:set>
3、将变量值存储在target属性指定的目标对象的propName属性中。
<c:set value=“value” target=“object” property=“propName”/>
4、将标签体存储到target属性指定的目标对象的propName属性中。
<c:set target=“object” property=“propName”>
标签体
</c:set>
<c:redirect>重定向标签
<c:redirect>标签可以将客户端发出的request请求重定向到其他url服务端,由其他程序处理客户的请求。而在这期间可以对request请求中的属性进行修改或添加,然后把所有属性传递到目标路径。
1、没有标签体,并且不添加传递到目标路径的参数信息
<c:redirect url=“url” [context="/context"]/>
2、在标签体中使用<c:param>标签传递其他参数信息
<c:redirect url=“url” [context="/context"]>
<c:param/>
</c:redirect>
<c:param>传递参数标签
<c:param>标签用于为其他标签提供参数信息。
<c:param name=“paramName” value=“paramValue”/>
流程控制标签
<c:if>条件判断标签
<c:if>条件判断标签可以根据不同的条件处理不同的业务。它与java语言中的if语句类似,只不过该语句没有else标签。
虽然<c:if>标签没有对应的else标签,但是jstl提供了<c:choose>、<c:when>和<c:otherwise>标签可以实现if … else的功能。
<c:if test=“condition” var=“name” [scope=page|request|session|application]/>
<c:if test=“condition” var=“name” [scope=page|request|session|application]>
标签体
</c:if>

test,用于指定条件表达式,可以使用el
var, 用于指定变量名,保存test属性的判断结果。
<c:choose>(<c:when><c:otherwise>)条件选择标签
<c:choose>标签可以根据不同的条件完成指定的业务逻辑,如果没有符合的条件就执行默认条件的业务逻辑。<c:choose>标签只能作为<c:when>和<c:otherwise>标签的父标签,而要实现条件选择逻辑,可以在<c:choose>标签中嵌套<c:when>和<c:otherwise>标签来完成。
<c:choose>
标签体
</c:choose>
<c:forEach>循环标签
1、集合成员迭代
<c:forEach items=“data” [var=“name”] [begin=“start”] [end=“finish”] [step=“step”] [varStatus=“statusName”]>
标签体
</c:forEach>
2、数字索引迭代
<c:forEach begin=“start” end=“finish” [var=“name”] [varStatus=“statusName”] [step=“step”]>
标签体
</c:forEach>
var: 迭代的变量。
items: 迭代的集合。
varStatus: 迭代的状态。可以访问迭代自身的信息。
begin: 迭代从items[begin]开始。
end: 迭代以items[end]结束。
step: 迭代的步长

<c:forTokens>迭代标签
<c:forTokens items=“String” delims=“char” [var=“name”] [begin=“start”] [end=“finish”] [step=“step”] [varStatus=“statusName”]
标签体
</c:fortokens>
var: 迭代的变量。
delims 用于指定分割字符串的分隔符,可以同时有多个分隔符
items: 迭代的集合。
varStatus: 迭代的状态。可以访问迭代自身的信息。
begin: 迭代从items[begin]开始。
end: 迭代以items[end]结束。
step: 迭代的步长

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值