File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes JSP and the fly likes Recursion & JSTL? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » JSP
Bookmark "Recursion & JSTL?" Watch "Recursion & JSTL?" New topic
Author

Recursion & JSTL?

Gail Mikels
Ranch Hand

Joined: May 07, 2001
Posts: 634
I'm pretty sure I know the answer to this, but I'll ask anyway...Is there anyway to use recursion with JSTL?

I have JSP that uses an ArrayList.
The ArrayList contains HashMaps.
The HashMaps contain a key & an ArrayList.
That ArrayList contains HashMaps
The HashMaps contain a key & an ArrayList.
...and so on & so on...

Something like this:



My idea is to use JSTL to navigate down through all the levels, then use JavaScript to make drop-down menu items for each one. I suppose I could count on there being only 5 or 6 levels of menu items, but I would sure hate to hard-code it 5 or 6 times...

Any help, or am I totally going against all proper programming principles here?

Using Tomcat 5.0, JSTL 1.0
[ January 25, 2006: Message edited by: Elaine Micheals ]

Gail Mikels
Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
I don't believe you can do recursion in JSTL, but even if you could, I think it's a better design to do most of the work in a java bean.

For example, create a MenuCreator bean with a getJavaScriptMenu() method. Iside that method you can call other methods recursively to produce the javascript code you need for your menu. Then put the MenuCreator bean in some scope.

Then, in your JSP, just write:

<script>
${menuCreator.javaScriptMenu}
</script>


Merrill
Consultant, Sima Solutions
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60800
    
  65

Firstly, this is also something I'd not attempt directly on-page -- personally, I'd create a custom action (tag) for such a complex structure.

If you must do it in JSP, I'd investigate the use of a tag file that can sort of do recursion by invoking itself.

But...

Using Tomcat 5.0, JSTL 1.0


Bad combo! With Tomcat 5 you should be using JSTL 1.1.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
 
 
subject: Recursion & JSTL?
 
Similar Threads
JSTL 1.1 - Get value from method of an Obj and set it to a variable
Nested C:forEach varStatus ??
Total newby javascript question
Jstl foreach iterate over arraylist containing map object using paramvalues
EL/JSTL : Retrieving a Javabean from a List attribute