<x:choose>标签与Java switch语句有相同的功能。switch语句有case语句,而<x:choose>标签有<x:when>标签。switch语句有default语句,而<x:choose>标签有<x:otherwise>标签。
<x:choose> <x:when select="<string>"> ... </x:when> <x:when select="<string>"> ... </x:when> ... ... <x:otherwise> ... </x:otherwise> </x:choose>
<x:choose>没有属性。
<x:when>的属性在下表中给出。
<x:otherwise>没有属性。
<x:when>标签的属性:
| 属性 | 描述 | 是否必要 | 默认值 | 
|---|---|---|---|
| select | 条件 | 是 | 无 | 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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:choose 标签</title>
</head>
<body>
<h2>Books Info:</h2>
<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'">
      Book is written by ZARA
   </x:when>
   <x:when select="$output//book/author = 'NUHA'">
      Book is written by NUHA
   </x:when>
   <x:otherwise>
      Unknown author.
   </x:otherwise>
</x:choose>
</body>
</html>运行结果如下:
BOOKS INFO: Book is written by ZARA