JSTL标签库学习笔记 八、XML标签库

前端之家收集整理的这篇文章主要介绍了JSTL标签库学习笔记 八、XML标签库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

1XML核心标签

1<x:parse>标签

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

【语法1】:

<x:parsedoc=”xmlDocument”

{var=”name”[scope=”page|request|session|application”]|varDom=”name”[scope=”page|request|session|application”]}

systemId=”systemId”

filter=”filter”

/>

【语法2】:

<x:parse

>

xmlDocument

</x:parse>

【参数说明】:<x:parse>标签属性说明

属性

说明

EL

类型

必须

默认值

doc

指定解析的xml文件

String/Reader

var

存储解析后的xml文件

String

scope

指定varJSP范围

page

varDom

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

scopeDom

指定varDomJSP范围

systemId

xml文件url

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”]>

【参数说明】:<x:out>标签属性说明

属性

说明

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”>

【参数说明】:

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

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

3)指定varJSP属性范围。

2XML流程控制

使用xml标签库的流程控制标签可以迭代处理xml文件内容,流程控制可以分为以下两个方面的内容

1条件判断

2)循环功能

1<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>标签根据条件表达式的结果决定是否执行本体内的代码

1select用来指定使用的XpathExpeRSSion表达式。

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

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

2<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:otherwise>

</x:choose>

其中只有<x:when>属性

<x:when select=”XPathExpeRSSion”>

3<x:forEach>标签

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

<x:forEach select=”XPathExpeRSSion”[var=”name”][varStartus=”StartusName”]

[begin=”begin”][end=”end”][step=”step”]>

//标签主体

</x:forEach>

【参数说明】:<x:forEach>标签属性说明

属性

说明

EL

类型

必须

默认值

select

指定使用的XPath语句

String

var

用于存储表达式的结果

varStatus

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

begin

循环的起始位置

int

end

循环的终止位置

int

3xml文件转换

<x:transform><x:param>能轻易使用XSLT样式包装xml文件,成为另一种显示方式。

1<x:transform>标签

使用该标签可以轻松的实现xmlXSLT的转化。

<x:transform doc=”xmldoc” xslt=”XSLTStytlesheet”[docSystemId=”xmlsystemid”]

[result=”result”]

[var=”name”]

[scope=”scopeName”]

[xsltSystemId=”xsltsystemid”]/>

[xsltSystemId=”xsltsystemid”]

<x:param/>

</x:transform>

【语法3】:

Xml文件内容

【参数说明】:<x:transform>标签属性说明

属性

说明

EL

类型

必须

默认值

doc

指定xml文件来源

String

xslt

转化xml的样式模板

docSystemId

xml文件URI

xsltSystemId

xslt文件URI

result

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

java.xml.transform

var

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

scope

var属性范围

String

2<x:param>标签

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

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

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

Value

</x:param>

1name指定参数的名称

2value指定参数值。

原文链接:https://www.f2er.com/xml/299897.html

猜你在找的XML相关文章