初识jstl标签库

Posted on 2019-05-08 20:40  翻身的咸鱼  阅读(167)  评论(0编辑  收藏  举报

JSTL(JSP Standard Tag Library,JSP标准标签库) 是一个不断完善的开源的 JSP 标签库,是由 apache 的 jakarta 小组来维护的,根据 JST L标签所提供的功能,可以将其分为 5 个类别

核心标签库:http://java.sun.com/jsp/jstl/core 包含 Web 应用的常见工作,核心标签是最常用的 JSTL 标签,比如:循环、表达式赋值、基本输入输出等

          http://java.sun.com/jstl/core_rt 建议使用这个标签库,因为即是依赖于 JSP 底层代码的方式取属性值, 而不是依赖于 EL 来实现

<c:out>: 用于在 JSP 中显示数据,就像 <%= ... >
<c:set>: 用于保存数据
<c:remove>: 用于删除数据
<c:catch>: 用来处理产生错误的异常状况,并且将错误信息储存起来
<c:if>: 与我们在 JAVA 程序中用的 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

格式化标签库http://java.sun.com/jsp/jstl/fmt 来格式化显示数据的工作,比如:对不同区域的日期格式化等

<fmt:formatNumber>: 使用指定的格式或精度格式化数字
<fmt:parseNumber>: 解析一个代表着数字,货币或百分比的字符串
<fmt:formatDate>: 使用指定的风格或模式格式化日期和时间
<fmt:parseDate>: 解析一个代表着日期或时间的字符串
<fmt:bundle>: 绑定资源
<fmt:setLocale>: 指定地区
<fmt:setBundle>: 绑定资源
<fmt:timeZone>: 指定时区
<fmt:setTimeZone>: 指定时区
<fmt:message>: 显示资源配置文件信息
<fmt:requestEncoding>: 设置 request 的字符编码

XML 标签库:http://java.sun.com/jsp/jstl/xml 用来访问、创建和操作 XML 文档的标签,这是 JSTL 标签库的一个特点

<x:out>: 与 <%= ... > 类似,不过只用于 XPath 表达式
<x:parse>: 解析 XML 数据
<x:set>: 设置 XPath 表达式
<x:if>: 判断 XPath 表达式,若为真,则执行本体中的内容,否则跳过本体
<x:forEach>: 迭代 XML 文档中的节点
<x:choose>: <x:when> 和 <x:otherwise> 的父标签
<x:when>: <x:choose> 的子标签,用来进行条件判断
<x:otherwise>: <x:choose> 的子标签,当 <x:when> 判断为 false 时被执行
<x:transform>: 将 XSL 转换应用在 XML 文档中
<x:param>: 与 <x:transform> 共同使用,用于设置 XSL 样式表

函数标签库:http://java.sun.com/jsp/jstl/functions 用来读取已经定义的某个函数,大部分是通用的字符串处理函数

fn:contains(): 测试输入的字符串是否包含指定的子串
fn:containsIgnoreCase(): 测试输入的字符串是否包含指定的子串,大小写不敏感
fn:endsWith(): 测试输入的字符串是否以指定的后缀结尾
fn:escapeXml(): 跳过可以作为XML标记的字符
fn:indexOf(): 返回指定字符串在输入字符串中出现的位置
fn:join(): 将数组中的元素合成一个字符串然后输出
fn:length(): 返回字符串长度
fn:replace(): 将输入字符串中指定的位置替换为指定的字符串然后返回
fn:split(): 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回
fn:startsWith(): 测试输入字符串是否以指定的前缀开始
fn:substring(): 返回字符串的子集
fn:substringAfter(): 返回字符串在指定子串之后的子集
fn:substringBefore(): 返回字符串在指定子串之前的子集
fn:toLowerCase(): 将字符串中的字符转为小写
fn:toUpperCase(): 将字符串中的字符转为大写
fn:trim(): 移除首位的空白符

数据库标签库:http://java.sun.com/jsp/jstl/sql 可以做访问数据库,与关系型数据库(Oracle,MySQL,SQL Server 等等)进行交互的标签

<sql:setDataSource>: 指定数据源
<sql:query>: 运行 SQL 查询语句
<sql:update>: 运行 SQL 更新语句
<sql:param>: 将 SQL 语句中的参数设为指定值
<sql:dateParam>: 将 SQL 语句中的日期参数设为指定的 java.util.Date 对象值
<sql:transaction>: 在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行