JSTL XML XPath Choose
<?xml version="1.0" encoding="ISO-8859-1"?> <students> <student id="1"> <name> <first>Joe</first> <last>Y</last> <middle>T</middle> </name> <grade> <points>99</points> <letter>A</letter> </grade> </student> <student id="2"> <name> <first>James</first> <last>Todd</last> <middle>K</middle> </name> <grade> <points>92</points> <letter>B</letter> </grade> </student> <student id="3"> <name> <first>Kate</first> <last>Wang</last> <middle>A</middle> </name> <grade> <points>72</points> <letter>C</letter> </grade> </student> </students> ///////////////////////////////////////////////////////////////////////////////////////// <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %><%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %> <html> <head> <title>For Each Examples</title> </head> <body> <c:import var="students" url="students.xml" /> <x:parse var="doc" xml="${students}" /> <table border="1"> <tr> <th>First</th> <th>Last</th> <th>Points</th> <th>Letter</th> <th>Note</th> </tr> <x:forEach var="student" select="$doc/students/student"> <tr> <td> <x:out select="name/first" /> </td> <td> <x:out select="name/last" /> </td> <td> <x:out select="grade/points" /> </td> <td> <x:out select="grade/letter" /> </td> <td> <x:choose> <x:when select="grade/points>90">You did great!</x:when> <x:when select="grade/points>80">You did good!</x:when> <x:when select="grade/points>75">You did ok.</x:when> <x:when select="grade/points>70">Well, you passed.</x:when> <x:otherwise>You failed</x:otherwise> </x:choose> </td> </tr> </x:forEach> </table> </body> </html>