`

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

    博客分类:
  • jstl
阅读更多

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
  • 大小: 9.7 KB
分享到:
评论

相关推荐

    JSTL标准标签库 <C:out>、<c:set>、<c:remove>和<c:catch>标记 <c:if>、<c:choose>、<c:when>和<c:otherwise>标记 <c:forEach>和<c:forTokens>标记

    1. `&lt;c:forEach&gt;`:用于遍历集合、数组或迭代对象,实现循环操作。 2. `&lt;c:forTokens&gt;`:对字符串进行分割,然后对每个分割出来的元素进行循环处理。 **使用JSTL的好处**: - 提高代码的可读性:通过使用XML样式的...

    jstl标签使用文档,jstl标签使用帮助文档

    在使用JSTL时,需要引入对应的JAR文件,例如`jstl.jar`和`standard.jar`,并在JSP页面中通过`&lt;%@ taglib %&gt; `指令导入相应的标签库。例如,导入核心库可以写为: ```jsp &lt;%@ taglib prefix="c" uri=...

    jstl标签库

    - **XML 标签库**(xml):处理XML文档,如`&lt;x:forEach&gt;`。 - **函数标签库**(fn):提供一些实用的函数,如`&lt;fn:split&gt;`。 **3. 核心标签库的其他功能** - **流程控制标签**:`&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when...

    jstl标签库.txt

    `&lt;c:forEach&gt;`标签用于循环遍历集合或其他可迭代数据结构。其有两种主要的用法: - **遍历集合**: ```xml &lt;c:forEach items="collection" [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end=...

    jstl标签库jar包、例子、jstl中文帮助文档

    - **&lt;c:forEach&gt;**:循环遍历集合。 - **&lt;c:set&gt;**:设置变量。 - **&lt;c:out&gt;**:输出变量或表达式,防止XSS攻击。 - **&lt;c:remove&gt;**:删除一个变量。 **4. JSTL FMT标签** - **&lt;fmt:formatDate&gt;**:格式化日期。 - ...

    jstl帮助 jstl帮助手册 jstl帮助文档

    例如`&lt;c:if&gt;`用于条件判断,`&lt;c:forEach&gt;`用于遍历集合,`&lt;c:choose&gt;`、`&lt;c:when&gt;`和`&lt;c:otherwise&gt;`用于多分支选择。 2. **Format/International化标签库 (fmt)**:提供了处理日期、时间、数字格式化以及国际化和...

    JSTL示例代码,x,xml,sql,fmt

    例如,`&lt;c:if&gt;`用于条件判断,`&lt;c:forEach&gt;`用于遍历集合,`&lt;c:set&gt;`用于设置变量,`&lt;c:choose&gt;`、`&lt;c:when&gt;`和`&lt;c:otherwise&gt;`则用于构建多分支结构。这些标签使得JSP页面更像声明式编程,减少了脚本代码,提高了...

    JSTL(jsp标准标签库)

    异常信息:&lt;c:out value="${error.message}"&gt;&lt;/c:out&gt; ``` 这里捕获了一个除零错误,并将其信息存储在变量`error`中。 #### 条件控制语句:实现逻辑判断与分支 1. **`&lt;c:if&gt;`**:基于条件的分支。例如,`&lt;c:if ...

    JSTL API帮助文档

    - **XML标签库**: 用于XML文档的操作,包括解析、转换和输出,如`&lt;x:parse&gt;`和`&lt;x:out&gt;`。 2. **使用JSTL的优势** - **提高可读性**: JSTL标签使代码更易于理解和维护,因为它将逻辑从视图层分离出来。 - **增强...

    JSTL标签入门帮助文档

    下面是一个简单的JSTL示例,展示如何使用`&lt;c:forEach&gt;`标签遍历数组: ```jsp &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt; &lt;% String[] fruits = {"苹果", "香蕉", "橙子"}; %&gt; &lt;c:forEach...

    JSTL文档

    1. **XML标签库**:`&lt;x:parse&gt;`解析XML文档,`&lt;x:transform&gt;`进行XSLT转换。 2. **XPath支持**:JSTL的`xml`库提供了对XPath的支持,允许开发者通过XPath表达式访问XML节点。 五、JSTL的SQL操作 1. **SQL标签库**...

    JSTL中文帮助文档_java_JSTL_

    - `&lt;c:forEach&gt;` 用于循环遍历集合。 - `&lt;c:set&gt;` 用于设置变量。 - `&lt;c:out&gt;` 用于安全地输出数据,防止XSS攻击。 - `&lt;c:redirect&gt;` 和 `&lt;c:url&gt;` 用于URL重定向和构建。 2. **XML库**:这个库提供了处理XML...

    JSTL AIP帮助文档,JSP标签学习文档

    例如,`&lt;c:forEach&gt;`用于遍历集合或数组,`&lt;c:if&gt;`和`&lt;c:choose&gt;`用于执行条件判断,`&lt;c:url&gt;`和`&lt;c:param&gt;`用于构建URL和传递参数,`&lt;c:set&gt;`用于设置变量等。 在JSP页面中,JSTL的使用通常会替代大量的脚本元素,...

    JSTL使用手册 帮助文档

    2. **XML标签库**:该库允许在JSP中方便地处理XML文档,提供了解析、转换和操作XML的标签,如`&lt;x:parse&gt;`、`&lt;x:transform&gt;`、`&lt;x:out&gt;`等。通过这些标签,开发者可以轻松地在JSP中处理XML数据,而无需编写复杂的Java...

    JSTL标签实例

    - `&lt;x:transform&gt;`:使用XSLT转换XML文档。 **3. SQL标签库(SQL Tags)** JSTL的SQL标签库允许在JSP页面中执行SQL查询,如: - `&lt;sql:update&gt;`:执行更新、插入或删除操作。 - `&lt;sql:query&gt;`:执行查询并获取结果...

    jstl核心标签库使用说明

    - **XML(XML处理标签库)**:处理XML文档的相关操作。 - **Functions(函数库)**:提供了一些常用的函数,以增强EL(Expression Language)的功能。 2. **Core(核心标签库)** - **`&lt;c:out&gt;`**:用于输出变量...

    JSTL核心标签库的一些应用

    以上只是JSTL核心标签库的一部分功能,实际应用中还有更多标签,如循环标签`&lt;c:forEach&gt;`、迭代标签`&lt;c:forTokens&gt;`等。这些标签在处理数据、控制流程等方面提供了极大的便利,使得JSP页面更加简洁、易读,也更符合...

    JSTL帮助文档 JSTL.in.Action.pdf

    - **&lt;c:forEach&gt;**:可以用来遍历XML文档中的节点。 - **&lt;x:parse&gt;**:用于解析XML文档并将其转换为DOM树。 - **&lt;x:out&gt;**:输出XML节点的值。 #### 九、数据库访问标签 - **&lt;sql:query&gt;**:执行SQL查询语句并返回...

    JSTL标签库

    主要包括`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;`、`&lt;c:catch&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when&gt;`、`&lt;c:otherwise&gt;`、`&lt;c:forEach&gt;`、`&lt;c:forTokens&gt;`、`&lt;c:import&gt;`、`&lt;c:url&gt;`和`&lt;c:redirect&gt;`等标签。这些标签...

    JSTL帮助文档

    XML标签库**:这个库提供了处理XML文档的标签,如`&lt;x:parse&gt;`用于解析XML字符串,`&lt;x:out&gt;`用于显示XML内容,以及`&lt;x:transform&gt;`用于XSLT转换。 **3. JDBC标签库**:该库简化了数据库操作,通过`&lt;sql:query&gt;`、`...

Global site tag (gtag.js) - Google Analytics