`
huangronaldo
  • 浏览: 220607 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JSTL的XML处理标签库

 
阅读更多

 

JSTL的XML处理标签库提供XML剖析、取出元素与属性和XSLT转换等相关标签,在JSP程式请先使用taglib指引元素汇入XML处理标签库

 

的URI,如下所示:

<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

XPath的基础-说明

nXPath(XML Path Language)是一种标示节点位置的语言,可以用来描述XML元素的位置,如同硬碟资料夹的档案路径,如

 

下所示:

C:\Inetput\wwwroot\Ch13\book.xml

n上述路径指出档案book.xml的位置,XPath指令可以指出XML元素在XML文件中的位置,也就是树状结构节点的位置。在JSTL的XML处

 

理标签库是使用XPath语言来存取XML元素。

n13-5-1 XPath的基础-位置路径

nXPath语言主要描述节点相对其它节点的位置,称为「位置路径」(Location Path),位置路径的运算子,如下表所示:

 

 XPath的基础-范例

 XML剖析与一般处理标签- <x:parse>标签(语法)

<x:parse>标签可以执行XML文件剖析,以便使用XPath或XML DOM取出XML节点或属性值,其基本语法如下所示:

<x:parse xml="运算式" var="name"/>

<x:parse var="name"/>

Body

</x:parse>

上述标签可以执行xml属性的XML文件字串(或标签内的XML文件)剖析,并将剖析结果储存在var属性的变数。

13-5-2 XML剖析与一般处理标签- <x:parse>标签(范例)

<x:parse>标签的使用上可以配合<c:import>标签插入XML文件,如下所示:

<c:import var="doc" url="test.xml"/>

<x:parse xml="${doc}" var="xml"/>

上述<c:import>标签插入test.xml的XML文件(请注意!XML文件并没有宣告部分),将文件内容储存到doc变数,然后就可以使用

 

<x:parse>标签剖析XML文件内容。

 

 XML剖析与一般处理标签- <x:out>标签(语法)

 

<x:out>标签可以使用XPath语言在剖析的XML文件中取出和显示指定的XML节点,其基本语法如下所示:

<x:out select="XPath运算式"/>

上述标签使用select属性的XPath运算式来取出指定的XML节点,XPath运算式的格式,如下所示:

$xml/books/book[1]/code

上述运算式是以"$"符号开始的字串,之后的xml是储存剖析结果的变数,然后是XPath路径字串。

13-5-2 XML剖析与一般处理标签- <x:out>标签(范例)

<x:out>标签就是使用XPath语言的运算式来取出指定的XML节点,如下所示:

<x:out select="$xml/books"/>

上述<x:out>标签的select属性是以"$"符号开始的字串,xml变数是储存前述剖析XML文件的内容,books是根节点,以此例是显示其

 

下所有XML节点的内容,即3个book节点内容。

 

XML剖析与一般处理标签- <x:set>标签(语法)

 

<x:set>标签使用XPath语言在剖析的XML文件中取出部分XML节点的子树,将它储存到其它变数,其基本语法如下所示:

<x:set var="name"

           select="XPath运算式"/>

上述标签使用select属性的XPath运算式取出部分XML节点的子树,然后将此子树储存到var属性的变数。

 

XML剖析与一般处理标签- <x:set>标签(范例)

 

<x:set>标签是使用XPath语言的运算式取出XML文件的部分内容,以便进一步使用<x:out>标签进行处理,如下所示:

<x:set var="part" select="$xml/books/book[3]"/>

上述<x:set>标签取出第3个book节点,然后就可以进一步使用<x:out>标签取出其子节点,如下所示:

<x:out select="$part/code"/><br>

<x:out select="$part/title"/><br>

 

 条件与回圈标签-<x:if>标签

 

<x:if>标签类似<c:if>标签,只是改为使用XPath运算式进行条件判断,其基本语法如下所示:

<x:if select="XPath条件运算式">

   Body

</x:if>

<x:if>标签是使用XPath条件运算式进行判断,如下所示:

<x:if select="$xml/books/book[1]/code='F8920'">

   XML文件拥有书号: F8920<br>

</x:if>

 

条件与回圈标签-<x:choose>、<x:when>和<x:otherwise>标签(语法)

 

<x:choose>、<x:when>和<x:otherwise>标签是使用XPath条件运算式进行多条件判断,其基本语法如下所示:

<x:choose>

   <x:when select="XPath条件运算式">

      Body

   </x:when>

   <x:when select="XPath条件运算式">

      Body

   </x:when>

   <x:otherwise>

      Body

   </x:otherwise>

</x:choose>

 

 

<x:set var="part" select="$xml/books/book[1]"/>

<x:choose>

   <x:when select="$part/@sales='Y'">

      图书仍在销售中<br>

   </x:when>

   <x:when select="$part/@sales='N'">

      图书目前缺货中<br>

   </x:when>

   <x:otherwise>

      图书销售状况不明<br>

   </x:otherwise>

</x:choose>

 

 条件与回圈标签-<x:forEach>标签(语法)

n<x:forEach>标签类似<c:forEach>标签,只是改为使用XPath运算式取出多个同名的XML节点,以便使用回圈一一取出每一个节点来

 

进行处理,其基本语法如下所示:

<x:forEach var="name"

                 select="XPath运算式">

   Body

</x:forEach>

 

条件与回圈标签-<x:forEach>标签(范例)

n<x:forEach>标签是使用XPath运算式来取出XML节点集合,如下所示:

<x:forEach var="item"

                 select="$xml/books/book">

   <x:out select="."/><br>

</x:forEach>

上述<x:forEach>标签取出所有book节点,然后使用<x:out>标签显示目前的节点内容,"."表示目前节点。

 

XSLT转换标签-语法

n<x:transform>标签可以使用XSLT Script执行XML文件转换,内含<x:param>子标签可以设定XSLT参数,其基本语法如下所示:

<x:transform xml="运算式" xslt="运算式"

     var="name" scope="scope">

   <x:param name="name1"

                  value="value1"/>

   …………

   <x:param name="nameN“

                  value="valueN"/>

</x:transform>

 

XSLT转换标签-范例

<x:transforml>标签只需配合<c:import>标签就可以插入XML文件和XSLT Script档案来执行转换,如下所示:

<c:import var="doc" url="test.xml"/>

<c:import var="xslt" url="test.xslt"/>

<x:transform xml="${doc}" xslt="${xslt}"/>

上述<c:import>标签分别插入XML文件test.htm和XSLT Scirpt档案test.xslt,然后使用<x:transform>标签执行XSLT转换。

 

 

 

分享到:
评论

相关推荐

    JSTL Core标签库资料

    从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。

    JSTL(JSP标准标签库)介绍

    JSTL(JSP标准标签库)介绍 Core支持JSP中的一些基本的操作; XML processing支持XML文档的处理; I18N capable formatting支持对JSP页面的国际化; Database access (SQL)支持JSP对数据库的操作。

    JSTL高级用法

    XML标签库 XML processing支持XML文档的处理 &lt;%@taglib prefix="xml" uri="http://java.sun.com/jsp/jstl/xml"%&gt; 函数标签库 &lt;%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions...

    jstl的jar包.zip

    JSP标准标签库(JSP Standard Tag Library)是Java EE网络应用程序开发平台的组成部分。它在JSP规范的基础上,扩充了一个JSP的标签库来完成一些通用任务,比如XML数据处理、条件执行、数据库访问、循环和国际化

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    第17章 jsp标准标签库(jstl) 490 17.1 jstl简介 490 17.2 配置jstl 491 17.3 core标签库 491 17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    第17章 jsp标准标签库(jstl) 490 17.1 jstl简介 490 17.2 配置jstl 491 17.3 core标签库 491 17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    第17章 jsp标准标签库(jstl) 490 17.1 jstl简介 490 17.2 配置jstl 491 17.3 core标签库 491 17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    第17章 jsp标准标签库(jstl) 490 17.1 jstl简介 490 17.2 配置jstl 491 17.3 core标签库 491 17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n...

    JSTL(JSP Standard Tag Library).doc

    1.JSTL(JSP Standard Tag Library)是一套预先定义好、协助程序员简化JSP网页制作的标签函数库。规格包含各种网页运作所需的运用,如循环、流程控制、输入输出、文本格式化,甚至XML文件处理及数据库访问操作等;

    从Java走向Java+EE+.rar

    第7章 JSTL——JSP标准标签库 91 7.1 JSTL基础 91 7.1.1 JSTL的核心标签库 92 7.1.2 JSTL中使用表达式语言 93 7.2 实例——利用JSTL标签生成数字序列 95 7.3 小结 97 第8章 JavaBean组件 98 8.1 ...

    java web 视频、电子书、源码(李兴华老师出版)

    0313_JSP标准标签库(JSTL) 0314_AJAX开发技术 0400_第四部分:框架开发 0415_Struts基础开发 0416_Struts常用标签库 0417_Struts高级开发 0500_第五部分:附录 0518_附录A:实用工具 0519_附录B:MyEclipse...

    JSP+Web开发实录

    主要内容包括:搭建JSP开发平台、实用JSP开发技巧、处理XML和数据库、EL表达式、JSTL标签库,以及与三大框架(Struts 2、Hibernate和Spring)整合的相关知识。最后给出了两个实例:新闻发布系统实例和人事信息管理系统...

    JSP开发技术大全 源码

    mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用JDOM解析XML、在JSP中应用SAX解析XML、EL表达式、JSTL标签库、自定义标签、Hibernate...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    第13章 标准标签库(JSTL) 13.1、JSTL简介 13.2、安装JSTL 1.2 13.3、核心标签库 13.3.1、标签 13.3.2、标签 13.3.3、标签 13.3.4、标签 13.3.5、标签 13.3.6、、、标签 13.3.7、标签 13.3.8、标签 ...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    第13章 标准标签库(JSTL) 13.1、JSTL简介 13.2、安装JSTL 1.2 13.3、核心标签库 13.3.1、标签 13.3.2、标签 13.3.3、标签 13.3.4、标签 13.3.5、标签 13.3.6、、、标签 13.3.7、标签 13.3.8、标签 ...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    第13章 标准标签库(JSTL) 13.1、JSTL简介 13.2、安装JSTL 1.2 13.3、核心标签库 13.3.1、标签 13.3.2、标签 13.3.3、标签 13.3.4、标签 13.3.5、标签 13.3.6、、、标签 13.3.7、标签 13.3.8...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    第13章 标准标签库(JSTL) 13.1、JSTL简介 13.2、安装JSTL 1.2 13.3、核心标签库 13.3.1、标签 13.3.2、标签 13.3.3、标签 13.3.4、标签 13.3.5、标签 13.3.6、、、标签 13.3.7、标签 13.3.8、标签 ...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    第13章 标准标签库(JSTL) 13.1、JSTL简介 13.2、安装JSTL 1.2 13.3、核心标签库 13.3.1、标签 13.3.2、标签 13.3.3、标签 13.3.4、标签 13.3.5、标签 13.3.6、、、标签 13.3.7、标签 13.3.8...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    第13章 标准标签库(JSTL) 13.1、JSTL简介 13.2、安装JSTL 1.2 13.3、核心标签库 13.3.1、标签 13.3.2、标签 13.3.3、标签 13.3.4、标签 13.3.5、标签 13.3.6、、、标签 13.3.7、标签 13.3.8、标签 ...

    李兴华Java Web开发实战经典(高清版) Part2

    第13章 标准标签库(JSTL) 13.1、JSTL简介 13.2、安装JSTL 1.2 13.3、核心标签库 13.3.1、标签 13.3.2、标签 13.3.3、标签 13.3.4、标签 13.3.5、标签 13.3.6、、、标签 13.3.7、标签 13.3.8...

Global site tag (gtag.js) - Google Analytics