Release History

VersionDateDescription
2.4.3 June 1, 2007 Bug fix release
2.4.2 October 18, 2006 Bug fixes, particular for Velocity+Security and CSS Menus
2.4.1 July 09, 2006 Bug fixes, especially for Velocity-based menus
2.4 May 10, 2006 Bug fixes and performance improvements
2.3 September 27, 2004 Complete de-coupling from Struts and various bug fixes.
2.2 March 30, 2004 Dynamic Menus from database, usable outside of Struts and various EL enhancements
2.1 December 20, 2003 2.1 uses JSTL for variables and fixes some other bugs
2.0 November 30, 2003 2.0 is a refactoring to use Velocity templates

Get the RSS feed of the last changes

Release 2.4.3 - June 1, 2007

TypeChangesBy
fix SM-64 URLs not properly encoded when cookies are off and using a non-Struts web framework. mraible
fix SM-68 PermissionAdapter not firing for lowest menu level. mraible
fix SM-77 Closing < /ul > tag does not match in CSSListMenuDisplayer when Menu item doesn't have children allowed to view. mraible
fix SM-79 Menus with duplicate names not showing up properly. mraible
fix SM-81 When target is used with Velocity CSS Menu there is no space between target and style attribute. mraible

Release 2.4.2 - October 18, 2006

TypeChangesBy
fix SM-25 Changed VelocityDisplayer to use a VelocityEngine instance instead of the singleton Velocity. mraible
fix SM-26 Fixed tabs.css so submenus render in correct position when content is above menu. mraible
fix SM-48 Modified CSSListMenuDisplayer to correctly handle menu tags without location, action or page. mraible
fix SM-50 Fixed UseMenuDisplayerTag so id attribute doesn't throw NPE on Tomcat 4.x and WebLogic 8.1. mraible
fix SM-57 Fixed CSSListMenuDisplayer so it doesn't invalid XHTML when a submenu contains items for which the user has no permissions to see. mraible
fix SM-58 Fixed VelocityDisplayer so removing menu items for a particular role effects doesn't affect all users. mraible
fix For a full list of issues fixed in 2.4, please see the detailed release notes .

Release 2.4.1 - July 09, 2006

TypeChangesBy
fix Fixed VelocityMenuDisplayer so it properly updates parent menus when setting permissions on menus. mraible
fix Fixed CSSMenuDisplayer to allow menu items without URL-related attributes. mraible
fix Fixed CSSMenuDisplayer (and Velocity templates that produce CSS-based menus) to include style="width: 000px" when "width" attribute exists. mraible
fix Fixed issue where MenuRepository required Velocity in classpath, even when not using VelocityDisplayer. mraible

Release 2.4 - May 10, 2006

TypeChangesBy
add Added "module" attribute for using with Struts' modules feature. Thanks to Tim Morrow. mraible
fix Added URL Rewriting when cookies are off. mraible
fix Added replacement for CoolMenus4 that's based purely on CSS (and some JavaScript for IE). See SM-9 for more information. mraible
fix Removed hard-coding of < div > id's for ListMenuDisplayer. Added "id" attribute to useMenuDisplayer tag that allows you to give menus unique ids. Modified CoolMenus4 and List/Tabbed/CSS Displayers to handle this. mraible
fix Major performance improvements to VelocityMenuDisplayer and EL Tags. mraible
fix Turned on Velocity caching by default and fixed displayer so you can override individual properties in velocity.properties. mraible
fix Changed FastHashMap in MenuRepository to LinkedMap so displayers and menus retain the order they were added in. Used LinkedMap instead of LinkedHashMap to maintain JDK 1.3 compatibility. mraible
fix Fixed DHTML DropDown Menu to work with submenus. Thanks to Ryan Tyer. mraible
fix Fixed bug in CoolMenuDisplayer4 so menu names with "." in them would be replaced with "_" to prevent JavaScript errors. mraible
fix Fixed bug in CoolMenuDisplayer4 - onclick argument was not in correct location. Thanks to Paul Gilowey. mraible
fix For a full list of issues fixed in 2.4, please see the detailed release notes .

Release 2.3 - September 27, 2004

TypeChangesBy
fix Changed various classes to remove dependencies on struts.jar for non-Struts webapps. mraible
fix Fixed issue with DropDownMenuDisplayer and JavaScript . Thanks to Andriy Ruzhevych. mraible
fix Added missing keys to DisplayerStrings.properties . I don't know what these are supposed to be, but adding empty values removes "null" from the rendered menu. Fixes 802709. Thanks to Colm OFlaherty. mraible
fix Added check to see if menu/item is allowed in all displayers. Fixes 740959. Thanks to balkanboy. mraible
fix Added "target" and "onclick" attributes to tabbed and lis t menus. Fixes 857215. mraible
fix Corrected script tag for CoolMenuDisplayer. Fixes 872381. Thanks to edollin. mraible
fix Removed .classpath and .project files. To generate, use "maven eclipse". Fixes 894585. Thanks to edollin. mraible
fix Removed unused jsMenu class variable in ListMenuDisplayer. Fixes 906585. Thanks to free2create. mraible
fix Cleaned up HTML in DisplayerStrings.properties to remove HTML errors. Fixes 906782. Thanks to free2create. mraible
fix Fixed bug in MenuRepository where initDigester() method treats levels 6 and 7 the same as level 5. Fixes 965985. Thanks to sshah. mraible
fix Removed toString() and hashCode() methods from MenuComponent since they were causing a StackOverflowError. Fixes 980007. Thanks to Paul Hu. mraible
add Added cookies to remember expanded menus in DropDownDisplayer. Fixes 702619. Thanks to edollin. mraible
add Added ability to add links to base items in Expandable List Menu. The plus icon will expand the menu, the link will take you to the URL (if one exists). Fixes 994316. Thanks to sparecreative. mraible
fix Fixed .classpath file by using "maven eclipse". Fixes 999248. Thanks to v912485. mraible
add Added 'align' property to MenuBase for use with CoolMe nuDisplayer4. Fixes 1023969. Thanks to free2create. mraible
fix Fixed padding issue with tabs and spacing b/w IE and Mozilla. Fixes 1011508. Thanks to festerwim. mraible
update Moved demo site from http://raibledesigns.com/struts-menu to http://demo.raibledesigns.com/struts-menu . mraible

Release 2.2 - March 30, 2004

TypeChangesBy
add Added support for plain ol' ResourceBundles and JSTL's Resource Bundle. The EL tag defaults to JSTL's ResourceBundle if no "bundle" attribute is specified, and to Struts' MessageResources if that's not found. The regular tag defaults to Struts' MessageResources if no bundle is specified. All bad bundle attributes result in a log.error() rather than a JspException. Thanks to Matt Raible. mraible
add Added dynamic menu example to sample application at http://demo.raibledesigns.com/struts-menu/dynamicMenu.jsp This demonstrates how to build a repository from a database table. Various enhancements had to be made to the MenuRepository.java class to make this easier. Thanks to Matt Raible. mraible
add Added EL-enabled Tags for UseMenuDisplayerTag and DisplayMenuTag. Simply use the http://struts-menu.sf.net/tag-el in your taglib declaration to use this tag. Thanks to Matt Raible. mraible
fix Added target and onclick attribute support to TabbedMenuDisplayer. Thanks to Matt Raible. mraible
add Added documentation for creating custom PermissionsAdapter and configuring VelocityDisplayer. Thanks to Matt Raible. mraible
add Added net.sf.navigator.menu.MenuLoader so Struts Menu can be configured using Spring. Also added MenuContextListener so it can be configured as a ContextListener in web.xml. Thanks to Matt Raible. mraible

Release 2.1 - December 20, 2003

TypeChangesBy
update Changed dynamic variable feature to use JSTL's ExpressionEvaluator. To substitute request parameters, you must use ${param.paramName}, rather than just ${paramName}. Thanks to Matt Raible. mraible
fix Fixed UseMenuDisplayerTag to allow config in menu-config.xml to override the default (as documented). Thanks to Matt Raible. mraible
fix Fixed DisplayMenuTag to continue rendering menu items when Action or Forward lookups fail. Thanks to Matt Raible. mraible
add Added support for highlighting the last menu selected in the Expandable Menu. Thanks to Matt Raible. mraible
add Added support for standalone links/menus (no children) to Expandable Menu. Thanks to Matt Raible. mraible
fix Added struts-menu.tld to the binary distribution. Thanks to Matt Raible. mraible

Release 2.0 - November 30, 2003

TypeChangesBy
update Renamed package structure to net.sf.navigator. Thanks to Matt Raible. mraible
add Added support for using Struts' actions and forwards for links in menu-config.xml. Thanks to Matt Raible. mraible
add Added support for using dynamic variables in menu-config.xml. Thanks to Matt Raible. mraible
add Updated build process to use Maven for building/deploying. Thanks to Matt Raible. mraible
update Refactored to use Velocity and allow dynamic variable substitution. Thanks to Matt Raible. mraible