Roller MenuTag
<a href= "http://www.raibledesigns.com/page/rd/20020903#the_future_of_roller"> Matt mentioned the idea of adding an option for drop-down menus in the Editor UI and mentioned StrutsMenu. Some time ago, I looked at StrutsMenu and it did not do quite what I wanted to to, so I set about creating a generic JSP menu tag using an MVC architecture. The Roller MenuTag reads the menu configuration from an <a href= "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/roller/roller/deploy/WEB-INF/editor-menu.xml?rev=1.9&content-type=text/vnd.viewcvs-markup"> XML file and then calls a <a href= "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/roller/roller/src/org/roller/presentation/tags/menu/tabbed.tpl?rev=1.2&content-type=text/vnd.viewcvs-markup"> Velocity script to render the menu.
So, creating a new drop-down menu should be as simple as writing a new Velocity script to spit out the right code to invoke CoolMenu or Hiermenu or what have you.
Looking back, I probably should have used Struts Menu as a base for my work, but I wanted to try out the ideas in Gregory Gerard's article on Accelerating JSP Tag Development with Jakarta Velocity