Problem when a use a x:forEach into another x:forEach
"Sébastien Brodeur" <[email protected]>
| Newsgroups | gmane.comp.jakarta.taglibs.user |
|---|---|
| Message-ID | <[email protected]> |
I'm currently migrating my application from WebSphere 5 (JSTL 1.0) to
WebSphere 6 (JSTL 1.1), and so far, the XML taglibs give us a lot of
trouble.
For example :
------------------------------------------------------------------------------------------------------
collections.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<collections>
<collection>
<id>horror</id>
<name>Horror novel</name>
</collection>
<collection>
<id>scifi</id>
<name>Sci-Fi novel</name>
</collection>
</collections>
------------------------------------------------------------------------------------------------------
books.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<books>
<book>
<collection_id>scifi</collection_id>
<title>Robots</title>
</book>
<book>
<collection_id>scifi</collection_id>
<title>The Moon is a Hashes Mistress</title>
</book>
<book>
<collection_id>scifi</collection_id>
<title>Spaceship Tropper</title>
</book>
<book>
<collection_id>horror</collection_id>
<title>This</title>
</book>
</books>
------------------------------------------------------------------------------------------------------
books.jsp
<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
<%@ taglib prefix="x" uri="/WEB-INF/x.tld" %>
<c:import var="xml_collections" url="http://localhost/collections.xml" />
<x:parse xml="${xml_collections}" var="collections" scope="request"/>
<c:import var="xml_books" url="http://www.localhost/books.xml" />
<x:parse xml="${xml_books}" var="books" scope="request"/>
<x:forEach select="$collections/collections/collection" var="collection">
<x:out select="$collection/name" />
<ul>
<x:forEach select="$books/books/book[collection_id=$collection/id]"
var="book">
<li><x:out select="$book/title" /></li>
</x:forEach>
</ul>
</x:forEach>
------------------------------------------------------------------------------------------------------
Output (WebSphere 5 using JSTL 1.0)
Horror novel
<ul>
<li>This</li>
</ul>
Sci-Fi novel
<ul>
<li>Robots</li>
<li>The Moon is a Hashes Mistress</li>
<li>Spaceship Tropper</li>
</ul>
------------------------------------------------------------------------------------------------------
Output (WebSphere 6 using JSTL 1.1)
Horror novel
<ul>
</ul>
Sci-Fi novel
<ul>
</ul>
Any idea how to do that without changing the structure of the two XML files?
Thank!
--
Sébastien Brodeur
[email protected]
Site Web : http://www.un-programmeur-php.ca/