您当前的位置:首页 > 计算机 > 编程开发 > Java

JSP JSTL <x:forEach>标签:遍历XML文件

时间:03-07来源:作者:点击数:

<x:forEach> 标签用于根据提供的 XPath 表达式遍历 XML 文件的内容。

语法:

<x:forEach[var="varName"]select="XPathExpression">
  [varStatus="varStatusName"]
  [begin="begin"][end="end"][step="step"]>
  body content
</x:forEach>

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

<x:forEach> 标签属性
属性 类型 描述 引用EL
select String XPath表达式,决定查询结果 不可以
var String 循环体的变量 不可以
begin int 循环的起始位置,包括该位置 可以
end int 循环的终止位置,包括该位置 可以
step int 循环的步长 可以
varStatus String 循环的变量状态 不可以

示例1

遍历 XML 文件 bookInfo.xml 的全部图书信息,关键代码如下:

<%@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:forEach select="$bookInfo/books/book">
      <p><x:out select="id/@value"/><br>
        <x:out select="name"/><br>
        <x:out select="publish/@value"/><br>
        <x:out select="sellAmount/@value"/></p>
    </x:forEach>

示例2

遍历 XML 文件 bookInfo.xml,并显示第一本到第三本的图书信息,关键代码如下:

<%@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:forEach select="$bookInfo/books/book" begin="0" end="2">
      <p><x:out select="id/@value"/><br>
        <x:out select="name"/><br>
        <x:out select="publish/@value"/><br>
        <x:out select="sellAmount/@value"/></p>
    </x:forEach>

典型应用

使用 <x:forEach> 标签遍历 book.xml 文件中的所有图书信息。关键代码如下:

<%@page pageEncoding="gbk" contentType="text/html;charset=GBK"%>
  <%@taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
    <%@taglib prefix="c" uri="/WEB-INF/c.tld"%>
      <c:import url="book.xml" var="xmlFile" charEncoding="gb2312"/>
      <x:parse var="tushu" doc="${xmlFile}"/>
      <x:forEach select="$tushu//book">
        <p><x:out select="id/@value"/><br>
          <x:out select="name/@value"/><br>
          <x:out select="publish/@value"/><br>
          <x:out select="price/@value"/></p>
      </x:forEach>

运行结果如下:

9787111379331

C语言开发宝典

机械工业出版社

79.00

 

9787111378471

Java开发宝典

机械工业出版社

99.00

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门