Ask the Expert

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?
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

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: