JSTL中主要的标签库:
NO. | JSTL | 标记名称 | 标签配置文件 | 描述 |
---|---|---|---|---|
1 | 核心标签库 | c | c.tld | 定义了属性管理、迭代、判断、输出 |
2 | SQL标签库 | sql | sql.tld | 定义了查询数据库操作 |
3 | XML标签库 | xml | x.tld | 用于操作XML数据 |
4 | 函数标签库 | fn | fn.tld | 提供了一些常用的操作函数,如字符串函数 |
5 | I18N格式标签库 | fmt | fmt.tld | 格式化数据 |
1、下载JSTL的jar包,将其中META-INF文件夹中的几个主要标签配置文件(c.tld/fmt.tld/fn.tld/sql.tld/x.tld)保存在WEB-INF文件夹中
2、配置web.xml
<jsp-config>
<taglib>
<taglib-uri>http://www.mldn.cn/jst/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://www.mldn.cn/jst/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://www.mldn.cn/jst/fn</taglib-uri>
<taglib-location>/WEB-INF/fn.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://www.mldn.cn/jst/sql</taglib-uri>
<taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://www.mldn.cn/jst/x</taglib-uri>
<taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>
</jsp-config>
3、在JSP页面中引入标签库配置文件
<%@ taglib uri="http://www.mldn.cn/jst/core" prefix="c" %>
<%@ taglib uri="http://www.mldn.cn/jst/fmt" prefix="fmt"%>
JSTL核心标签库
核心标签库中的主要标签
NO. | 功能分类 | 标签名称 | 描述 |
---|---|---|---|
1 | 基本标签 | <c:out> | 输出属性内容 |
2 | <c:set> | 设置属性内容 | |
3 | c:remove> | 删除指定属性 | |
4 | <c:catch> | 异常处理 | |
5 | 流程控制标签 | <c:if> | 条件判断 |
6 | <c:choose> | 多条件判断,可以设置<c:when>和<c:otherwise>标签 | |
7 | 迭代标签 | <c:forEach> | 输出数组、集合 |
8 | <c:forTokens> | 字符串拆分及输出操作 | |
9 | 包含标签 | <c:import> | 将一个指定的路径包含到当前页进行显示 |
10 | 生成URL标签 | <c:url> | 根据路径和参数生成一个新的URL |
11 | 客户端跳转 | <c:redirect> | 客户端跳转 |
<c:forEach>标签的属性
NO. | 属性名称 | EL支持 | 描述 |
---|---|---|---|
1 | var | × | 用来存放集合中的每一个对象 |
2 | items | √ | 保存所有的集合,主要是数组、Collection(List 、Set)及Map |
3 | varStatus | × | 用于存放当前对象的成员信息 |
4 | begin | √ | 集合的开始位置,默认从0开始 |
5 | end | √ | 集合的结束位置,默认为集合的最后一个元素 |
6 | step | √ | 每次迭代的间隔数,默认为1 |
<c:forTokens>标签的属性
NO. | 属性名称 | EL支持 | 描述 |
---|---|---|---|
1 | var | × | 用来存放集合中的每一个对象 |
2 | items | √ | 要输出的字符串 |
3 | delims | × | 定义分割字符串的内容 |
4 | varStatus | × | 存放当前对象的相关信息 |
5 | begin | √ | 开始的输出位置,默认从0开始 |
6 | end | √ | 结束的输出位置,默认为最后一个成员 |
7 | step | √ | 迭代输出的间隔 |
NO. | 功能分类 | 标签名称 | 描述 |
---|---|---|---|
1 | 国际化标签 | <fmt:setLocale> | 设置一个全局的地区代码 |
2 | <fmt:requestEncoding> | 设置统一的请求编码 | |
3 | 信息显示标签 | <fmt:bundle> | 设置临时的要读取资源文件的名称 |
4 | <fmt:message> | 通过key取得value,通过<fmt:param>向动态文本中设置内容 | |
5 | <fmt:setBundle> | 设置一个全局的要读取资源文件的名称 | |
6 | 数字及日期格式化 | <fmt:formatNumber> | 格式化数字 |
7 | <fmt:parseNumber> | 反格式化数字 | |
8 | <fmt:formatDate> | 格式化日期,将日期变为字符串 | |
9 | <fmt:parseDate> | 反格式化日期,将字符串变为日期 | |
10 | <fmt:setTimeZone> | 设置一个全局的时区 | |
11 | <fmt:timeZone> | 设置一个临时的时区 |
NO. | 功能分类 | 标签名称 | 描述 |
---|---|---|---|
1 | 数据源标签 | <sql:setDataSource> | 设置要使用的数据源名称 |
2 | <sql:query> | 执行查询操作 | |
3 | 数据库操作标签 | <sql:update> | 执行更新操作 |
4 | 事务处理标签 | <sql:transaction> | 执行事务的处理操作,并设置操作的安全级别 |
NO. | 功能分类 | 标签名称 | 描述 |
---|---|---|---|
1 | 核心操作 | <x:out> | 输出XPath指定的内容 |
2 | <x:parse> | 进行XML解析 | |
3 | <x:set> | 将内容保存在属性范围中 | |
4 | 流程控制 | <x:if> | 判断XPath指定的内容是否满足条件 |
5 | <x:choose> | 多条件判断,相当于switch语句 | |
6 | <x:when> | 判断条件,相当于case语句 | |
7 | <x:otherwise> | 条件出口,相当于default | |
8 | <x:forEach> | 循环输出节点 |
NO. | 路径标记 | 描述 |
---|---|---|
1 | 根元素 | / |
2 | 父节点 | ../ |
3 | 任何路径下的节点 | // |
4 | 属性 | @属性名称 |
5 | 通配符 | * |
<?xml version="1.0" endoding ="GBK"?>
<addresslist>
<linkman>
<name id="xiaoming">小明</name>
<email>xiaoming@163.com</email>
</linkman
</addresslist>
通过下面表列出的路径查找方式找到指定的内容
NO. | 路径标记 | 描述 |
---|---|---|
1 | 找到name元素 | /addresslist/linkman |
2 | 直接找到name元素 | //name |
3 | 找到id属性 | //name/@id |
函数标签库的主要操作函数
NO. | 函数标签名称 | 描述 |
---|---|---|
1 | ${fn:contains()} | 查询某字符串是否存在,区分大小写 |
2 | ${fn:containsIgnoreCase()} | 查询某字符串是否存在,忽略大小写 |
3 | ${fn:startsWith()} | 判断是否以指定的字符串开头 |
4 | ${fn:endsWith()} | 判断是否以指定的字符串结尾 |
5 | ${fn:toUpperCase()} | 全部转为大写显示 |
6 | ${fn:toLowerCase()} | 全部转为小写现实 |
7 | ${fn:substring()} | 字符串截取 |
8 | ${fn:split()} | 字符串拆分 |
9 | ${fn:join()} | 字符串连接 |
10 | ${fn:escapeXml()} | 将<、>、"、'等替换成转义字符 |
11 | ${fn:trim()} | 去掉左右空格 |
12 | ${fn:replace()} | 字符串替换操作 |
13 | ${fn:indexOf()} | 查找指定的字符串位置 |
14 | ${fn:substringBefore()} | 截取指定字符串之前的内容 |
15 | ${fn:substringAfter()} | 截取指定字符串之后的内容 |