Wonder if I could get some help with my attempts to write a dynamic menu using the example from http://demo.raibledesigns.com/appfuse/dynamicMenu.jsp.
A call is made from a JSP page to a bean which basically replaces the database in the example mentioned, and includes the calls to the Struts Menu api. I only get the Parent menu item displayed and no child menu item. No matter what I do, nothing turns up.
The JSP page includes the following:
<body>
<h2>Test av Struts Menu.... </h2><br>
<!-- Skapa Dynamisk Meny -->
<%
// Dynamisk meny som skapas utifrån en bean
MenyBean meny = new MenyBean(application);
meny.setMeny("Parent", null, "Dynamisk Förälder", "Dynamisk Förälder Tooltip", null);
meny.setMeny("Child", "Parent", "Dynamiskt Barn", "Dynamiskt Barn Tooltip", "http://www.google.com");
meny.skapaMeny();
%>
<!-- Visa dynamisk meny -->
<menu:useMenuDisplayer name="ListMenu" repository="repository">
<menu:displayMenu name="Parent"/>
</menu:useMenuDisplayer>
</body>
I attach the JSP page and Bean for generating the menus. Thankful for any help with this :)
BTW...Is there any API documentation around?
Thanks, and happy easter! /Eje Thorarinsson, Sweden
package se.police.rps.macs.gemensam;
import java.io.Serializable; import javax.servlet.ServletContext; import net.sf.navigator.menu.MenuComponent; import net.sf.navigator.menu.MenuRepository; /** * <p><b>Beskrivning:</b><br> * Denna Bean används för att skapa dynamiska menyer * * <p><b>Ansvar:</b><br> * - Definiera dynamiska menyer för websidorna i MACS * </p> * * @author Eje Thorarinsson, Quaint Technology * @version $Revision: 1.0 $<br>$Date: 2004/04/08 13:00:00 $<br> */ public class MenyBean implements Serializable { ServletContext httpContext; MenuRepository repository; MenuComponent mc; /** * Huvudkonstruktor * [EMAIL PROTECTED] ctx - ServletContext */ public MenyBean(ServletContext ctx) { this.httpContext = ctx; // Instansiera ett menyrepository repository = new MenuRepository(); MenuRepository defaultRepository = (MenuRepository) httpContext.getAttribute(MenuRepository.MENU_REPOSITORY_KEY); repository.setDisplayers(defaultRepository.getDisplayers()); } /* -- PUBLIKA METODER -- */ /** * Skapa en meny komponent. * * @param namn - Sträng som sätter namn på komponenten * @param titel - Den menytitel som visas * @param toolTip - Ett tips som visar vad som avses med menyalternativet */ public void setMeny(String namn, String parent, String titel, String toolTip, String location) { // Skapa en ny Meny instans MenuComponent mc = new MenuComponent(); // Kolla om menyn har en förälder if(parent != null) { // Om så är fallet, hämta en referens till föräldern MenuComponent parentMenu = repository.getMenu(parent); // Om ingen referens finns, skapa en if (parentMenu == null) { System.out.println("Menyn '" + namn + "' finns inte!"); parentMenu = new MenuComponent(); parentMenu.setName(parent); repository.addMenu(parentMenu); } // Registrera menyn som en förälder mc.setParent(parentMenu); } // Lägg till attribut mc.setName(namn); mc.setTitle(titel); mc.setToolTip(toolTip); if(location != null) mc.setLocation(location); // Lagra i Repository repository.addMenu(mc); } /** * Skapa menyn utifrån angivna värden. */ public void skapaMeny() { httpContext.setAttribute("repository", repository); } }<%@ page language="java"%> <%@ page pageEncoding="ISO-8859-1" %> <%@ page contentType="text/html; charset=ISO-8859-1" %> <%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu" %> <%@ taglib uri="http://struts-menu.sf.net/tag-el" prefix="menu-el" %> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> <%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>Title: Testsida för Struts Menu <%@ include file="page-defaults.jsp"%> <[EMAIL PROTECTED] import="se.police.rps.macs.gemensam.MenyBean"%>