แท็ก <x:forEach> ใช้วนลูปผ่าน Nodes ใน XML Document ตาม XPath Expression
แอตทริบิวต์ของ <x:forEach>
| แอตทริบิวต์ | คำอธิบาย | จำเป็น | ค่าเริ่มต้น |
|---|---|---|---|
| select | XPath Expression สำหรับเลือก Nodes ที่จะวน | ใช่ | None |
| var | ชื่อตัวแปรเก็บ Node ปัจจุบันในแต่ละรอบ | ไม่ | None |
| begin | Index เริ่มต้นของการวน (0-based) | ไม่ | None |
| end | Index สิ้นสุดของการวน | ไม่ | None |
| step | ขนาด Step ในการวน | ไม่ | None |
| varStatus | ชื่อตัวแปรเก็บสถานะการวน (index, count, first, last) | ไม่ | None |
ตัวอย่างการใช้งาน
<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="https://java.sun.com/jsp/jstl/xml" %>
<html>
<head>
<title>JSTL x:forEach 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>
ผลลัพธ์
Books Info: Book Name: Padam History Book Name: Great Mistry
ประโยชน์: วนลูป Node XML ได้โดยตรง ไม่ต้องแปลงเป็น Java Object ก่อน รองรับ begin, end, step, varStatus เหมือน c:forEach