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() |
将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 |
| … |
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
JavaScript test framework : Mocha
Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub. https://mochajs.org/#reporters INSTALLATION Install with npm globally: $ npm install --global mocha or as a development dependency for your project: $ npm install --save-dev mocha Mocha currently requires Node.js v6....
-
下一篇
jQuery圆形滚动进度条动态加载loading效果
2017年12月13日 可以随时停止进度,需要计算时间清除定时器 .loading .wrap, .loading .circle, .loading .percent { position: absolute; width: 200px; height: 200px; border-radius: 50%; } .loading .wrap { top: 150px; left: 50%; margin-left: -100px; background-color: #ccc; } .loading .circle { box-sizing: border-box; border: 10px solid #ccc; clip: rect(0, 200px, 200px, 100px); } .loading .clip-auto { clip: rect(auto, auto, auto, auto); } .loading .percent { box-sizing: border-box; top: -10px; left: -10px; } .loading .left { t...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker容器配置,解决镜像无法拉取问题
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19

微信收款码
支付宝收款码