Several ways to design a dynamic menu

Several ways to design a dynamic menu

I read there are several ways to design a dynamic menu for a Web application. But, I do not understand it. How could I generate, using LotusScript or Java, a dynamic menu? Could you explain and give an example?

    Requires Free Membership to View

    Register today to access targeted resources from our editorial writers and independent industry experts focused on Lotus Domino, Notes, Workplace and other related technologies.

    By submitting your registration information to SearchDomino.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchDomino.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

It depends on what you mean by "dynamic" menu. The are numerous ways to do this, you could use a view with one column to create a menu, you could write a LotusScript or Java Agent to generate a page of links or two dynamically create a JavaScript menu. You could just use JavaScript to create a menu, or you could do it with DHTML, if really just rdepends on what style of "dynamic" menu you want. The following simple Java agent could be used to generate page of links based on content read from a database. It assumes that you have a view named vwMenu, which contains documents with at least two fields, tLink and tDescription. The tLink field contains the actual link and tDescription, which contains description text to display to the user. You would probably want to add some more error handling to this agent before using it in production.

// Last mods 020506.105101 - dhatter@libertastechnologies.com - www.libertastechnologies.com import lotus.domino.*; import java.util.*; import java.io.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session nsCurrent = getSession(); AgentContext nactxCurrent = nsCurrent.getAgentContext(); Database ndbCurrent = nactxCurrent.getCurrentDatabase(); PrintWriter pwHTML=getAgentOutput(); pwHTML.println("Content-Type: text/html"); pwHTML.println("Pragma: No-cache"); pwHTML.println("Expires: 0"); View nvwMenu; Document ndocMenu; String strHTML; nvwMenu=ndbCurrent.getView("vwMenu"); strHTML="Dynamic Menu"; strHTML=strHTML + ""; strHTML=strHTML +""; ndocMenu=nvwMenu.getFirstDocument(); while(ndocMenu != null){ strHTML=strHTML +""; ndocMenu=nvwMenu.getNextDocument(ndocMenu); } strHTML=strHTML+"
"+ ndocMenu.getItemValueString("tDescription") +"
"; pwHTML.println(strHTML); } catch(Exception e) { e.printStackTrace(); } } } // end of agent
I have included the source of the page this agent generates below: Dynamic Menu
Libertas Technologies, LLC
New Riders Press
Lotus
IBM

This was first published in May 2002