JSTL XML <x:forEach> Tag
Advertisements
The <x:forEach> tag is used to loop over nodes in an XML document.
Attribute:
The <x:forEach> tag has following attributes:
| Attribute | Description | Required | Default |
|---|---|---|---|
| select | The XPath expression to be evaluated | Yes | None |
| var | Name of the variable to store the current item for each loop | No | None |
| begin | The start index for the iteration | No | None |
| end | The end index for the iteration | No | None |
| step | The size of the index increment while iterating over the collection | No | None |
| varStatus | The name of the variable in which the status of the iteration is stored | No | None |
Example:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<html>
<head>
<title>JSTL x:if Tags</title>
</head>
<body>
<h3>Books Info:</h3>
<c:set var="xmltext">
<books>
<book>
<name>Padam History</name>
<author>ZARA</author>
<price>100</price>
</book>
<book>
<name>Great Mistry</name>
<author>NUHA</author>
<price>2000</price>
</book>
</books>
</c:set>
<x:parse xml="${xmltext}" var="output"/>
<ul class="list">
<x:forEach select="$output/books/book/name" var="item">
<li>Book Name: <x:out select="$item" /></li>
</x:forEach>
</ul>
</body>
</html>
This would produce following result:
Books Info:
|