12.标准标签库(JSTL)
1.JSTL标签库安装
JSTL的概念:
JSP标准标签库(JSP Standard Tag Library)是一个实现 Web 应用程序中常见的通用功能的定制标记库集
功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问
JSTL标签库由几个子标签库组成,主要分为以下几种:核心标签、XML标签、格式化标签(I18N)、SQL标签、函数标签库。
JSTL的安装:
将jstl.jar、standard.jar放在WEB-INF/lib目录下
jstl.jar提供了标签开发接口类
standard.jar 提供了标签库的实现类
在JSP中使用taglib伪指令导入JSTL标签库
<%@taglib prefix=“c” uri=“http://java.sun.com/jstl/core”%>导入JSTL核心标签库
通过<c:XXX>可以使用JSTL核心标签库标签
标签库集:
|
JSTL |
前置名 |
URI |
示例 |
|
核心 标签库 |
c |
http://java.sun.com/jsp/jstl/core |
<c:out> |
|
I18N格式标签库 |
fmt |
http://java.sun.com/jsp/jstl/fmt |
<fmt:formatDate> |
|
SQL 标签库 |
sql |
http://java.sun.com/jsp/jstl/sql |
<sql:query> |
|
XML标签库 |
xml |
http://java.sun.com/jsp/jstl/xml |
<x:forEach> |
|
函数 标签库 |
fn |
http://java.sun.com/jsp/jstl/functions |
${fn:split()} |
JSTL核心标签库
|
标签 |
描述 |
|
<c:catch> |
捕获异常 |
|
<c:out> |
打印输出 |
|
<c:set> |
设置变量值 |
|
<c:remove> |
删除变量 |
|
<c:if> |
条件判断 |
|
<c:choose> |
|
|
<c:forEach> |
循环控制 |
|
<c:forToken> |
|
|
<c:url> |
重写URL地址 |
|
<c:import> |
导入资源 |
|
<c:redirect> |
重定向请求 |
2.一般用途的JSTL标签:
<c:catch>捕获JSP页面抛出的异常
例<c:catch var=“e”> action that might throw an exception</c:catch>
<c:out>打印输出内容到页面
类似JSP表达式
属性value包含特殊字符,使用转义字符
属性name变量没有初始化,使用default属性指定默认值
3.属性用途的JSTL标签
尽管EL可以灵活地操作变量,但不能声明或删除变量
<c:set>标签设置变量值或对象的属性值
<c:set var=“num” value=“${4*4}” />
<c:set target=“user”property=“userName”>${“susan”}</c:set>
<c:remove>用于从指定作用域内删除变量
<c:remove var=“num”scope=“session”/>
4.控制用途的JSTL标签
(1)<c:if>与java语言的if语句最大的不同是没有else语句对应标签
<c:if test=“${x==9}”>${x}</c:if>
(2)<c:choose>类似Java的switch-case语句。
该标签只当做<c:when>和<c:otherwise>的父标签
(3)<c:forEach>和<c:forTokens>类似于Java的for语句
<c:forEach>使用begin、end、step属性指定循环次数
对于集合和字符串使用items属性指定循环对象
<c:forEach>提供varStatus属性,用来存放现在指到的成员的信息。另外四个属性:
index:现在指到成员的索引
count:总共指到成员的总数
first:现在指到的成员是否为第一个成员
last:现在指到的成员是否为最后一个成员
5.其他种类的标签
处理与URL相关的标签
<c:url>用来产生一个URL,“/”表示上下文路径
<c:import>可以把其他静态或动态文件包含至本身JSP页面。与JSP动作<jsp:include>的不同在于<c:import>可以包含位于Web程序之外的资源
<c:redirect>用于把客户请求重定向到另一个资源
|
标签 |
描述 |
|
<fmt:formatNumber> |
使用指定的格式或精度格式化数字 |
|
<fmt:parseNumber> |
解析一个代表着数字,货币或百分比的字符串 |
|
<fmt:formatDate> |
使用指定的风格或模式格式化日期和时间 |
|
<fmt:parseDate> |
解析一个代表着日期或时间的字符串 |
|
<fmt:bundle> |
绑定资源 |
|
<fmt:setLocale> |
指定地区 |
|
<fmt:setBundle> |
绑定资源 |
|
<fmt:timeZone> |
指定时区 |
|
<fmt:setTimeZone> |
指定时区 |
|
<fmt:message> |
显示资源配置文件信息 |
|
<fmt:requestEncoding> |
设置request的字符编码 |
SQL标签:
JSTL SQL标签库提供了与关系型数据库(Oracle,MySQL,SQL Server等等)进行交互的标签。引用SQL标签库的语法如下:
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
|
标签 |
描述 |
|
<sql:setDataSource> |
指定数据源 |
|
<sql:query> |
运行SQL查询语句 |
|
<sql:update> |
运行SQL更新语句 |
|
<sql:param> |
将SQL语句中的参数设为指定值 |
|
<sql:dateParam> |
将SQL语句中的日期参数设为指定的java.util.Date 对象值 |
|
<sql:transaction> |
在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行 |
XML标签:
JSTL XML标签库提供了创建和操作XML文档的标签。引用XML标签库的语法如下:
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
在使用xml标签前,还需要导入XercesImpl.jar和xalan.jar库
http://www.apache.org/dist/xerces/j/
http://xml.apache.org/xalan-j/index.html
|
标签 |
描述 |
|
<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样式表 |
JSTL函数:
JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:
<%@ taglib prefix="fn" uri="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() |
将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 |
|
… |
12.标准标签库(JSTL)的更多相关文章
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- JSP标准标签库(JSTL)--JSTL简介与安装
对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中 ...
- JSP 标准标签库JSTL
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- JSP标准标签库JSTL
1.什么是JSTL? JSP标准标签库(JSP Standard Tag Library) 2.JSTL标准标签库中的常用标签 JSTL是JSP页面的标签库,实质上是一段Java代码.我们常用的是它的 ...
- jsp标准标签库——jstl
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- JSP标准标签库(JSTL)--国际化标签库 fmt
JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...
- JSP标准标签库(JSTL)--XML标签库 x
³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理. XML标 ...
- JSP标准标签库(JSTL)--SQL标签库 sql
了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...
- JSP标准标签库(JSTL)--核心标签库 c
核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...
随机推荐
- Angular问题01 创建组件时报错、HammerJS找不到
1 利用ng创建组件时出现错误 1.1 ng g c test/testHome 1.2 问题描述 当angular应用中有多个module.ts文件时,创建组件时会出现冲突,因为有多个module. ...
- 主键primary key和唯一索引unique index
1)主键一定是唯一性索引,唯一性索引并不一定就是主键. 2)主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引. 3)主键常常与外键构成参照完整性约束,防止出现数 ...
- noi.ac day6t1 queen
传送门 分析 我就是个BT...... 直接排序后开数组记录每条线上的信息,注意由于每个点只会影响前面第一个点和后面第一个点,所以记录每条线的前一个点就行了. 代码 #include<iostr ...
- Redis应用(django)
自定义使用redis 创建url 定义单例模式连接池 import redis # 连接池 POOL = redis.ConnectionPool(host='10.211.55.4', port=6 ...
- Paxos在大型系统中的应用场景
https://timyang.net/distributed/paxos-scenarios/ 在分布式算法领域,有位非常重要的短发叫Paxos,它的重要性有多高呢?Google的Chubby[1] ...
- 手动通知扫描SD卡主动生成缩略图
最近做项目遇到的难题,调用系统拍照获取不到缩略图,非得关机重启才会生成,所以我们要主动通知系统扫描SD卡生成缩略图, 在Android4.4之前也就是以发送一个Action为“Intent.ACTIO ...
- 小小c#算法题 - 8 - 归并排序 (Merging Sort)
“归并”的含义是将两个或两个以上的有序序列组合成一个新的有序序列.这个“归并”可以在O(n+m)的数量级上实现,但这同时也需要O(n+m)的空间复杂度.具体为:首先分配一个新的长度为n+m的空序列,然 ...
- DjVu、PDF中的隐藏文本
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2012.06.11 目录一.背景二.DjVu中的隐藏文本三.PDF中的隐藏文本 一.背景 目前对于扫描电子文档,网上比较流行 ...
- c++滚动数组
说来惭愧,我老早以前就学习了dp,可直到最近才知道滚动数组. 所以说,滚动数组是什么呢? 它是一种优化dp空间复杂度的思想. 在dp转移时,我们往往不需要之前推的所有的,而是只需要前一两个转移的. 我 ...
- 如何在cuda内核函数中产生随机数(host端调用,device端产生)
最近,需要在kernel函数中调用浮点型的随机数.于是上网搜了下相关资料,一种方式是自己手动写一个随机数的__device__函数,然后在调用的时候调用这个函数.另一种,原来cuda在toolkit中 ...