首页 > 编程笔记 > Java笔记

JSP JSTL <x:set>标签:保存XML节点

<x:set> 标签用于把从 XML 文件指定节点读取的属性值存储到指定范围的变量中。

语法:

<x:set select="XPathExpression"
       var="varName"[scope="{page|request|session|application}"]/>
<x:set select="XPathExpression"
       var="varName"[scope="{page|request|session|application}"]>
</x:set>


说明:<x:out> 标签有两种语法格式,这两种语法格式的输出结果完全相同。

<x:set> 标签各属性的详细介绍如表所示。

<x:set> 标签属性
属性 类型 描述 引用 EL
select String XPath语句的表达式 不可以
var String 将读取的XML信息存储值变量中 不可以
scope String var属性的存储范围 不可以

示例

首先通过 <c:import> 标签导入 bookInfo.xml 文件,然后通过 <x:parse> 标签解析 bookInfo.xml 文件的内容,再通过 <x:set> 标签获取每本图书信息,并保存到变量 book 中,最后通过 <x:out> 标签输出包括书名、出版社和单价的图书信息。
<%@taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
  <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <c:import url="bookInfo.xml" var="xmlFile" charEncoding="gbk"/>
    <x:parse var="bookInfo" doc="${xmlFile}"></x:parse>
    <x:set var="book" select="$bookInfo/books/book"/>
    书名:<x:out select="$book/name" escapeXml="true"/><br>
    出版社:<x:out select="$book/publish/@value"/><br>
    单价:<x:out select="$book/price/@value"/>

所有教程

优秀文章