Jstl的XML标签库

JSTL提供了操作xml文件的标签库,使用xml标签库可以省去使用Dom和SAX标签库的繁琐,能轻松的读取xml文件的内容。

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

1.<x:parse>标签

<x:parse/>标签用来解析指定的xml文件。

属性说明

属性名

说明

EL

类型

必须

默认值

doc

指定解析的xml文件

String/Reader

var

存储解析后的xml文件

String

scope

指定var的JSP范围

String

page

varDom

以(org.w3c.dom.Doucemet)的形式存储解析的xml文件

String

scopeDom

指定varDom的JSP范围

String

page

systemId

xml文件的url

String

filter

解析xml文件的过滤器

Org.xml.sax.Filter

提示:doc指定解析的xml文件并不是指定xml文件的路径,而是同<c:import>共同使用,由<c:import>加载并存储,然后使用<x:parse>解析。

例如:如果解析person.xml文件需要通过如下代码实现对xml文件的解析。

<c:import var="docString" url="person.xml"/><!--引入person.xml文件-->

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

<c:import>语句用来导入或存储文件到JSP。如果不使用var来存储,xml文件将显式的出现在JSP文件中。

<x:parse>标签只用来解析xml文件,并不显示xml文件中的内容,如果想得到xml的节点元素或值需要使用<x:out>元素来实现。

2.<x:out>标签

<x:out>标签主要用来输出xml的信息。

【语法】:

<x:out select=”XpathExperssion”[excapeXml=”true|false”]>

标签属性说明

属性名

说明

EL

类型

必须

默认值

select

指定使用的XPath语句

String

escapeXml

是否转换特殊字符。如<等

boolean

true

提示:使用XPath语句需要用到xalan.jar支持包,可以从示例程序的lib中获取,获得直接从myEclipse中可以找到。

3.<x:set>标签

<x:set>标签用于将从xml文件节点解析的内容存储到JSP属性范围中。

【语法】:

<x:set select=”XPathExperssion” var=”name” scope=”page|request|session|application”>

【参数说明】:

(1)select通过指定的XPath表达式语句获取节点的值。

(2)var指定用于存储值的变量名。

(3)指定var的JSP属性范围。

4.<x:if>

<x:if>主要用于条件判断。

【语法1】:未含有本体内容。

<x:if select=”XPathExperssion” var=”name”[scope=”page|request|session|application”]/>

【语法2】:含有本体内容。

<x:if select=”XPathExperssion” var=”name”[scope=”page|request|session|application”]

> 本体内容

</x:if>

语法1只把根据条件表达式得到的结果的存储在JSP范围中,语法2根据<x:if>标签根据条件表达式的结果决定是否执行本体内的代码。

【参数说明】:

(1)select用来指定使用的XpathExperssion表达式。

(2)var设定标量名用来存储表达式的结果。

(3)scope指定var存储的JSP属性范围。

5.<x:choose>、<x:when>和<x:otherwise>标签

同核心标签库的<c:choose>、<c:when>和<c:otherwise>标签作用相似,只是使用的条件表达式不同。

<x;choose>是主标签,<x:when>和<x:otherwise>放在<x:choose>标签体内共同使用。

【语法】:

<x:choose>

<x:when>

<x:when>

<x:otherwise>

</x:choose>

其中只有<x:when>有属性。

【语法】:

<x:when select=”XPathExperssion”>

6.<x:forEach>标签

<x;forEach>标签实现了对xml文档的遍历。

标签属性说明

属性名

说明

EL

类型

必须

默认值

select

指定使用的XPath语句

String

var

用于存储表达式的结果

String

varStatus

用来存放循环到的变量的相关信息

String

begin

循环的起始位置

int

end

循环的终止位置

int

7.<x:transform>标签

使用该标签可以轻松的实现xml到XSLT的转化。

标签属性说明

属性名

说明

EL

类型

必须

默认值

doc

指定xml文件来源

String

xslt

转化xml的样式模板

String

docSystemId

xml文件的URI

String

xsltSystemId

xslt文件的URI

String

result

用来存储转换后的结果对象

java.xml.transform

var

以org.w3c.dom.Documet类型存储转换后的结果

String

scope

var的属性范围

String

8.<x:param>标签

该标签用来为<x:transform>标签转换参数。

【语法1】:

<x:param name=”name” value=”value”/>

【语法2】:

<x:param name=”name” value=”value”

>

Value

</x:param>

【参数说明】:

(1)name指定参数的名称。

(2)value指定参数值。

(5)JSTL的xml标签库的更多相关文章

  1. JSP标准标签库(JSTL)--XML标签库 x

    ³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理.  XML标 ...

  2. JSTL XML标签库 使用

    推荐博客:http://blog.sina.com.cn/s/blog_4f925fc30101820u.html XML标签库 JSTL提供了操作xml文件的标签库,使用xml标签库可以省去使用Do ...

  3. JSTL之迭代标签库

    JSTL之迭代标签库 JSTL的全称是 Java Server Pages Standard Tag Library,翻译过来就是JSP标准标签库,它包含了在开发JSP页面时经常用到的一组标准标签.这 ...

  4. (4)JSTL的SQL标签库

    jstl的SQL标签库 SQL tag Library中的标签用来提供在 JSP 页面中可以与数据库进行交互的功能Database access标签库有以下6组标签来进行工作: <sql:set ...

  5. JSTL (标准标签库)

    JSTL(标准标签库) 作用: Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性.维护性和方便性. 使用方法:J ...

  6. JSTL I18N 格式标签库

    <%@ page language="java" pageEncoding="gbk"%> <%@ taglib prefix="c ...

  7. Java_jsp.jstl.Function函数标签库.记录

    JSTL Functions标签库 本书第12章的12.3节(定义和使用EL函数)介绍了EL函数的创建和使用方法.在JSTL Functions标签库中提供了一组常用的EL函数,主要用于处理字符串,在 ...

  8. 13.javaweb xml标签库详解

    一.XML标签简介 1,  作用 2,  标签分类 XPath 路径标记 查找节点元素示例 2.1<x:out> 2.2<x:parse> 操作示例:导入XML文件,解析,然后 ...

  9. JSTL 数字日期标签库

    <frm:formatNumber/>标签 该标签依据特定的区域将数字改变为不同的格式来显示. 被格式化的数据<frm:formatNumber> <fmt:format ...

随机推荐

  1. forEach方法如何跳出循环

    1.for方法跳出循环 function getItemById(arr, id) { var item = null; for (var i = 0; i < arr.length; i++) ...

  2. windows 修改鼠标滚轮自然滚动

    在mac 上玩习惯了,使用windows 时的鼠标实在觉得别扭,在网上百度了一下,找到一个方法,这里记录一下 1 打开windows 的控制面板,点击“硬件和声音” 2 点击“鼠标” 3 然后点击上面 ...

  3. 图片美化增强AI接口调用手册

    在调合合AI平台提供的图片美化增强API接口,API平台链接:https://ai.ccint.com/doc/api/crop_enhance_image, 因为有遇到一些问题,写篇博客记录一下 A ...

  4. jsp 预编译

    jspc-maven-plugin <?xml version="1.0" encoding="UTF-8"?> <project xmlns ...

  5. CVE-2017-3248——WebLogic反序列化漏洞利用工具

    著名的web中间件WebLogic被曝出之前的反序列化安全漏洞补丁存在绕过安全风险,用户更新补丁后,仍然存在被绕过成功执行远程命令攻击的情况,安全风险高,Oracle官方及时发布了最新补丁,修复了该漏 ...

  6. c 语言写的高级Oracle®数据库调优及监控工具

    http://www.lab128.com.cn/lab128_why.html ###另外一款ORALCE Monitor tool freee https://www.myorasql.com/ ...

  7. python学习之j进程和线程:

    每个进程至少有一个线程,python因为每个线程都共用一个GIL全局锁(同时只能运行一个线程),所以不能用多线程(除非重新写C解释器),但是多进程的GIL锁各自独立可多进程. 进程与线程的区别在于一个 ...

  8. C#连接Oracle中文乱码问题解决方法

    1.打开注册表:开始-运行-regedit       HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb11g_home1/OLEDB    在右侧点鼠标右键- ...

  9. SpringBoot整合国际化I18n

    本文主要实现的功能: 从文件夹中直接加载多个国际化文件 后台设置前端页面显示国际化信息的文件 实现 国际化项目初始化,简单看下项目的目录和文件 在resource下创建国际化文件 messages.p ...

  10. Java类的静态块の二

    在上一篇Java类的静态块の一中介绍到:类的静态块在类加载时候执行,执行早于构造函数,并且只执行一次. 但是在下面的例子中却发现JVM并不是把把所有的static模块都执行完成再执行其他(Java果然 ...