แท็ก <x:choose> ทำงานคล้าย Java Switch Statement ใช้เลือกหนึ่งในหลายทางเลือก <x:when> = case, <x:otherwise> = default
แอตทริบิวต์
- <x:choose>: ไม่มีแอตทริบิวต์
- <x:when>: มีแอตทริบิวต์
select(XPath Expression ที่ต้องประเมิน) - <x:otherwise>: ไม่มีแอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | จำเป็น | ค่าเริ่มต้น |
|---|---|---|---|
| select | เงื่อนไข XPath Expression | ใช่ | 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:choose 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"/>
<x:choose>
<x:when select="$output//book/author = 'ZARA'">
หนังสือเขียนโดย ZARA
</x:when>
<x:when select="$output//book/author = 'NUHA'">
หนังสือเขียนโดย NUHA
</x:when>
<x:otherwise>
ผู้เขียนไม่ทราบชื่อ
</x:otherwise>
</x:choose>
</body>
</html>
ผลลัพธ์
Books Info: หนังสือเขียนโดย ZARA
หมายเหตุ: x:when แรกที่ true จะทำงาน แล้ว跳出 choose ทันที (เหมือน break ใน switch)