3. load the menu options one time from the database and place in the application scope. While this is the best memory option (and probably the most efficient for speed), I'm not sure how I would reload this after a change was made to the underlying database (or even detect that a change was made).
How often do the menu options change in practice? You might find that they never actually change in your production environment, in which case just shoving them in application scope is often sufficient.
For the design pattern in general, you could consider using Tiles and a Tiles controller, rather than using a base action class. This would give you greater separation of concerns: loading (possibly cached) menu items is handled specifically by the tile that displays the menu, rather than by each individual action.
-- Bill -- Bill Schneider Chief Architect
Vecna Technologies 5004 Lehigh Rd., Suite B College Park, MD 20740 [EMAIL PROTECTED] t: 301-864-7253 x1140 f: 301-699-3180
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]