jstl<x:forEach>标签遍历XML文档

本文介绍了如何在JSTL中使用<x:forEach>标签遍历XML文档,并展示了实际应用案例,包括设置XML文本、导入变量及遍历输出XML元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSTL中<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> 的标签使用

利用<x:forEach> 标签遍历XML文档

 

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Index2.jsp</title>
</head>
<body>
<h3>Books Info:</h3>

<c:set var="xmltext">
  <books>
    <book>
      <name id="002">Padam History</name>
      <author>ZARA</author>
      <price>100</price>
    </book>
    <book>
      <name id="001">Great Mistry</name>
      <author>NUHA</author>
      <price>2000</price>
    </book>
  </books>
</c:set>

或者:<c:import var="xtest" url="http://localhost:8080/ztest/books.xml" />

&nbsp;<x:parse xml="${xmltext}" var="output"/>
<ul>
<x:forEach select="$output/books/book" var="item" varStatus="i">
   <li>
   ${i.index }--
   <x:out select="$item/name" />--
   <x:out select="$item/name/@id" />--
   <x:out select="$item/author" />--
   <x:out select="$item/price" />
   </li>
</x:forEach>
</ul>

</body>
</html>

 

结果如下图:



注意:解析name中的id用的是@id

附上表

 

属性 描述 Required Default
select XPath表达式来进行评估(计算) Yes None
var 每个循环的变量的名称存储在当前项目 No None
begin 用于迭代的起始索引 No None
end 迭代的结束索引 No None
step 索引递增的大小,在集合进行迭代 No None
varStatus 迭代的状态被存储在其中的变量的名称 No None
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值