JSP标准标签库(JSTL)--XML标签库 x
|
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> |
循环输出节点 |
XPath简介 :
|
No. |
路径标记 |
描述 |
|
1 |
根元素 |
/ |
|
2 |
父节点 |
../ |
|
3 |
任何路径下的节点 |
// |
|
4 |
属性 |
@属性名称 |
|
5 |
通配符 |
* |
定义一个xml文件 —— address.xml :
<?xml version="1.0" encoding="GBK"?>
<addresslist>
<linkman>
<name id="lxh">李兴华</name>
<email>mldnqa@163.com</email>
</linkman>
</addresslist>
|
No. |
路径标记 |
描述 |
|
1 |
找到name元素 |
/addresslist/linkman/name |
|
2 |
直接找到name元素 |
//name |
|
3 |
找到id属性 |
//name/@id |
<x:parse>标签 :主要做用是进行XML解析的操作
要解析的XML文件
<x:parse/>
<x:parse >标签的属性 :
|
No. |
属性名称 |
EL支持 |
描述 |
|
1 |
var |
× |
保存解析后的XML文件的对象 |
|
2 |
scope |
× |
var变量的保存范围,默认是page范围 |
|
3 |
varDom |
× |
使用DOM解析后的XML文件对象 |
|
4 |
scopeDom |
× |
varDom属性的保存范围 |
|
5 |
systemId |
√ |
文件的URI |
<x:out>标签 :用于输出XML文件的内容,输出时要通过XPath进行路径的指定,标签的语法如下所示:
定义要解析的XML文件 :
<?xml version="1.0" encoding="GBK"?>
<addresslist>
<linkman>
<name id="lxh">李兴华</name>
<email>mldnqa@163.com</email>
</linkman>
</addresslist>
输出name和email元素的内容 —— xml_out.jsp :
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib uri="http://www.mldn.cn/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.mldn.cn/jstl/x" prefix="x"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<c:import var="add" url="/ch13/address.xml" charEncoding="GBK"/>
<x:parse var="addressXml" doc="${add}"/>
<h3>姓名:<x:out select="$addressXml/addresslist/linkman/name"/>(编号:
<x:out select="$addressXml/addresslist/linkman/name/@id"/>
)</h3>
<h3>邮箱:<x:out select="$addressXml/addresslist/linkman/email"/></h3>
</body>
</html>
<x:set>标签 :可以将从XML文件取出的内容保存在指定的属性范围之中,标签语法如下所示:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib uri="http://www.mldn.cn/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.mldn.cn/jstl/x" prefix="x"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<c:import var="add" url="/ch13/address.xml" charEncoding="GBK"/>
<x:parse var="addressXml" doc="${add}"/>
<x:set var="nameXml" scope="page" select="$addressXml/addresslist/linkman"/>
<h3>姓名:<x:out select="$nameXml/name"/></h3>
</body>
</html>
<x:if>标签 :主要功能是用于判断XPath指定的内容是否符合判断的条件,此标签的语法如下所示:
条件满足时的输出内容
</x:if>
使用<x:if>判断输出 —— xml_if.jsp :
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib uri="http://www.mldn.cn/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.mldn.cn/jstl/x" prefix="x"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<c:import var="add" url="/ch13/address.xml" charEncoding="GBK"/>
<x:parse var="addressXml" doc="${add}"/>
<x:if select="$addressXml//name/@id='lxh'"> <!-- 判断id属性是否是lxh -->
<h3>存在编号是lxh信息,姓名:<x:out select="$addressXml/addresslist/linkman/name"/></h3>
</x:if>
</body>
</html>
<x:choose>、<x:when>、<x:otherwise>标签 :执行多条件判断
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib uri="http://www.mldn.cn/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.mldn.cn/jstl/x" prefix="x"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<c:import var="add" url="/ch13/address.xml" charEncoding="GBK"/>
<x:parse var="addressXml" doc="${add}"/>
<x:choose>
<x:when select="$addressXml//name/@id='lxh'">
<h3>编号是lxh的名称:<x:out select="$addressXml/addresslist/linkman/name"/></h3>
</x:when>
<x:otherwise>
<h3>啥也不是了!</h3>
</x:otherwise>
</x:choose>
</body>
</html>
<x:forEach>标签 :与<c:forEach>类似,唯一不同的是<x:forEach>标签主要的功能是迭代xml文件,此标签语法如下所示:
标签体内容
</x:forEach>
<x:forEach>标签的属性 :
|
No. |
属性名称 |
EL支持 |
描述 |
|
1 |
select |
× |
XPath路径 |
|
2 |
var |
× |
储存当前浏览的节点对象 |
|
3 |
varStatus |
× |
存放当前浏览的节点对象的相关信息 |
|
4 |
begin |
√ |
浏览的开始位置 |
|
5 |
end |
√ |
浏览的结束位置 |
|
6 |
step |
√ |
每次的间隔步长 |
定义XML文件 —— alladdress.xml :
<?xml version="1.0" encoding="GBK"?>
<addresslist>
<linkman>
<name id="lxh">李兴华</name>
<email>mldnqa@163.com</email>
</linkman>
<linkman>
<name id="kf">客服中心</name>
<email>mldnkf@163.com</email>
</linkman>
<linkman>
<name id="hr">招聘中心</name>
<email>mldnhr@163.com</email>
</linkman>
</addresslist>
使用<x:forEach>输出全部<name>节点的内容:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib uri="http://www.mldn.cn/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.mldn.cn/jstl/x" prefix="x"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<c:import var="add" url="/ch13/alladdress.xml" charEncoding="GBK"/>
<x:parse var="addressXml" doc="${add}"/>
<x:forEach select="$addressXml//linkman" var="linkman">
<h3>姓名:<x:out select="name"/>
(编号:<x:out select="name/@id"/>)</h3>
</x:forEach>
</body>
</html>
JSP标准标签库(JSTL)--XML标签库 x的更多相关文章
- 小峰servlet/jsp(7)jstl国际化标签库、sql标签库等
一.jstl国际化标签库: fmt:setLocale 设定用户所在的区域: fmt:formatDate 对日期进行格式化 fmt:requestEncoding 设置所有的请求编码; fmt: ...
- JSTL XML标签库 使用
推荐博客:http://blog.sina.com.cn/s/blog_4f925fc30101820u.html XML标签库 JSTL提供了操作xml文件的标签库,使用xml标签库可以省去使用Do ...
- 小峰servlet/jsp(6)jstl核心标签库
一.引入jstl 需要jstl.jar;standard.jar; 二.jstl核心标签库: c:out 内容输出标签; c:set 用来设置4种属性范围值的标签: c:re ...
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
- JSP标准标签库(JSTL)--SQL标签库 sql
了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...
- JSP标准标签库(JSTL)--核心标签库 c
核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...
- JSP标准标签库(JSTL)--国际化标签库 fmt
JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...
- JSP标准标签库(JSTL)--函数标签库 fn
和String的方法类似,就是对String的一种封装. No. 函数标签名称 描述 1 ${fn:contains()} 查询某字符串是否存在,区分大小写 2 ${fn:containsIgnore ...
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
随机推荐
- hadoop namespace
As underscore(_) is not allowed. It may be the problem if your other configuration are ok. Your conf ...
- TortoiseGit保存用户名及密码
保存密码方式如下,需要setting中填写自己的名字,Email地址,并在.gitconfig中 [credential] 中设置helper = store
- redis持久化探究
redis支持两种持久化方式,一种是RDB方式,另一种是AOF方式.redis3.0windows版本默认关闭AOF(appendonly no),而开启RDB,当达到一定条件时,redis就会将内存 ...
- RPC框架基本原理(二):客户端注册
客户端的注册流程如下 核心功能主要如下: 1.生成调用远程HSF服务的代理 此代理的效果为生成ServiceMetadata中指定的interface的代理,调用时可将代理转型为服务接口,并进行直接的 ...
- android 进程(复习)
前台进程 前台进程是用户当前正在使用的进程.只有一些前台进程可以在任何时候都存在.他们是最后一个被结束的,当内存低到根本连他们都不能运行的时候.一般来说, 在这种情况下,设备会进行内存调度,中 ...
- 编译使用luasocket
编译lua5.1: 因为luasocket使用的是lua5.1,所以先下载lua5.1,编译,并把头文件和dll放在xxx/lua5.1/include和xxx/lua5.1/lib 编译luasoc ...
- php curl调用相关api
一.基本步骤 1.本次模拟是php的相关post请求,可通过CURLOPT_CUSTOMREQUEST设定相关POST.GET.PUT.DELETE相关适应REST API 2.相关重要的是curl_ ...
- 第十一节,编辑器软件PyCharm 5.0.3
编辑器软件PyCharm 5.0.3 设置 主题方案 字体大小 行距 文件模板 文件编码 版本切换
- spark介绍
什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hado ...
- 裸二分图匹配poj1469
poj1496 题意: 给你p门课程和n个学生,一个学生可以选0门,1门,或者多门课程, 现在要求一个由p个学生组成的集合,满足下列2个条件: 1.每个学生选择一个不同的课程 2.每个课程都有不同的代 ...