Problem with displayer
"Lopez, Jose" <[email protected]>
| Newsgroups | gmane.comp.java.struts-menu.user |
|---|---|
| Message-ID | <CF265CD560292C47897E5A44AADA345E080F9506@arvwarpasx0002.ar.sa.vwg> |
Hello People.
I'm having a problem with ListMenu Displayer (and any displayer) I'm trying
to use struts menu dynamic maybe you can find the error, because I can't!
My files are like this:
This is part of my actionServlet....
MenuRepository repo = buildMenu(session, menu);
session.setAttribute("user", user);
session.setAttribute("perfil", perfil);
session.setAttribute("unread", denuncia);
//I have put repo is session
session.setAttribute("repositorio", repo);
return mapping.findForward("success");
} // end execute
private MenuRepository buildMenu(HttpSession session, Vector menu) {
MenuRepository repository = new MenuRepository();
// Get the repository from the application scope - and copy the
// DisplayerMappings from it.
MenuRepository defaultRepository =
(MenuRepository) session.getServletContext().getAttribute(
MenuRepository.MENU_REPOSITORY_KEY);
repository.setDisplayers(defaultRepository.getDisplayers());
for (int i = 0; i < menu.size(); i++) {
MenuComponent mc = new MenuComponent();
MenuBean row = (MenuBean)menu.elementAt(i);
String name = row.getNombre();
mc.setName(name);
String parent = row.getParent();
System.out.println(name + ", parent is: " + parent);
if (parent != null) {
MenuComponent parentMenu =
repository.getMenu(parent);
if (parentMenu == null) {
System.out.println(
"parentMenu '" + parent + "' doesn't
exist!");
// create a temporary parentMenu
parentMenu = new MenuComponent();
parentMenu.setName(parent);
repository.addMenu(parentMenu);
}
mc.setParent(parentMenu);
}
String title = row.getTitulo();
mc.setTitle(title);
String location = row.getLocation();
mc.setLocation(location);
repository.addMenu(mc);
}
return repository;
}
In my jsp file I have this (tld is ok!) because I have used TabbedMenu in
static way.
<menu:useMenuDisplayer name="ListMenu" repository="repositorio">
<menu:displayMenu name="Menu1"/>
<menu:displayMenu name="Menu2"/>
</menu:useMenuDisplayer>
This is menu-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<MenuConfig>
<Displayers>
<Displayer name="ListMenu"
type="net.sf.navigator.displayer.ListMenuDisplayer"/>
</Displayers>
<Menus>
<Menu name="indexMenu" title="Examples">
<!-- page attribute indicating a context relative resource.
The context path will be prepended to the value. -->
<Item name="indexMenu1" title="Basic Example"
toolTip="Shows usage of the menu displayers using defaults."
page="/menutest1.jsp"/>
<Item name="indexMenu2" title="Advanced Example"
toolTip="Shows customized menu displays."
page="/menutest2.jsp"/>
<Item name="indexMenu3" title="CoolMenu Example"
toolTip="Shows menu using CoolMenu3"
page="/coolmenu1.jsp"/>
<Item name="indexMenu4" title="CoolMenu Example - With Form"
toolTip="Shows menu using CoolMenu3 with forms."
page="/coolmenu2.jsp"/>
<Item name="indexMenu5" title="Permissions Example"
toolTip="Example use of menu disable and permission
checking with CoolMenus."
page="/permissionsForm.jsp"/>
<Item name="indexMenu6" title="CoolMenu4 Example"
toolTip="Shows menu using CoolMenu4"
page="/coolmenu4.jsp"/>
<Item name="indexMenu7" title="Expandable DHTML List Example"
toolTip="Shows Expandable DHTML list"
page="/dhtmlExpandable.jsp"/>
<Item name="indexMenu7" title="Dropdown DHTML List Example"
toolTip="Shows Dropdown DHTML list"
page="/dhtmlDropdown.jsp"/>
<Item name="indexMenu8" title="Roles Menu Example"
toolTip="Shows Menus based on user's role"
page="/rolesMenu.jsp"/>
<Item name="indexMenu9" title="Tabbed Menu Example"
toolTip="Shows Tabbed-based Menu"
forward="tabbedMenu"/>
<Item title="Velocity Template Menu"
toolTip="Shows very simple Velocity generated Menu"
page="/velocity.jsp"/>
<Item title="Velocity CoolMenus Menu"
toolTip="Shows Velocity generated CoolMenu"
page="/velocity-coolmenu4.jsp"/>
<Item title="Velocity XTree Menu"
toolTip="Shows Velocity generated XTree"
page="/velocity-xtree.jsp"/>
<Item title="Velocity Tabbed Menu"
toolTip="Shows Velocity generated Tabbed Menu"
page="/velocity-tabs.jsp?Home"/>
<Item title="Nice Looking Tabbed Menu"
toolTip="Shows Velocity generated Tabbed Menu"
page="/velocity-nicetabs.jsp?Home"/>
<Item title="EL (Expression Language) enabled Menu [New!]"
toolTip="Shows very simple Velocity EL Menu"
page="/velocity-el.jsp"/>
<Item title="Dynamic, Databased-driven Menu [New!]"
toolTip="Shows very simple menu built from a database table"
page="/dynamicMenu.jsp"/>
</Menu>
<Menu name="projectMenu" title="Project Menu">
<Item title="Home" toolTip="Return to List of Menus"
page="/index.jsp"/>
<Item title="Documentation" toolTip="View Project Documentation"
location="http://struts-menu.sf.net"/>
<Item title="FAQs" toolTip="View Frequenty Asked Questions"
location="http://struts-menu.sf.net/faq.html"/>
<Item title="Mailing Lists" toolTip="Subscribe to Mailing Lists"
location="http://sourceforge.net/mail/?group_id=48726"/>
<Item title="Mailing List Archives"
toolTip="Search the Mailing List Archives"
location="http://www.mail-archive.com/index.php?hunt=struts-menu"/>
</Menu>
<!-- ==================== To Do List Menus ===========================
-->
<Menu name="ToDoListMenuFile" title="FILE" description="test"
width="50">
<Item name="TDLnew" title="NEW">
<Item name="TDLnewcase" title="CASE"
image="images/case-new.png"
location="NewCase.jsp"/>
<Item name="TDLnewitem" title="ITEM"
image="images/item-new.png"
location="index.jsp"/>
<Item name="TDLnewparty" title="PARTY"
image="images/party-new.png"
location="index.jsp"/>
</Item>
<Item name="TDLopen" title="OPEN">
<Item name="TDLopencase" title="CASE"
image="images/case-open.png"
location="index.jsp"/>
<Item name="TDLopenitem" title="ITEM"
image="images/item-open.png"
location="index.jsp"/>
<Item name="TDLopenparty" title="PARTY"
image="images/party-open.png"
location="index.jsp"/>
</Item>
<Item name="TDLexit" title="EXIT"
image="images/exit.png" location="index.jsp"/>
</Menu>
<Menu name="ToDoListMenuEdit" title="EDIT">
<Item name="TDLselect" title="SELECT_ALL"
image="images/select-all.png"
location="index.jsp" width="100" />
<Item name="TDLprefs" title="USER_PREFERENCES"
image="images/prefs.png"
location="index.jsp" width="150" />
<Item title="Action Test"
action="setPermissions?displayer=${displayer}"/>
</Menu>
<Menu name="ToDoListMenuTools" title="TOOLS">
<Item name="TDLreports" title="REPORTS"
image="images/reports.png"/>
<Item name="TDLfind" title="FIND"
image="images/find.png"/>
<Item name="TDLsubscr" title="SUBSCRIBE"
image="images/assign.png"/>
</Menu>
<Menu name="ToDoListMenuWindows" title="WINDOW">
<Item name="TDLlibr" title="LIBRARY" image="images/library.png"/>
</Menu>
<Menu name="ToDoListMenuHelp" title="HELP">
<Item name="TDLhelp" title="ONLINE_HELP"
image="images/help.png"/>
<Item name="TDLabout" title="ABOUT_TRACKER"
image="images/trackernet.png"/>
</Menu>
<!--Menu name="TabbedHome" title="Ocurrencias" action="/verGrilla.do"
target="main"/>-->
<!--<Menu name="TabbedHome" title="Ocurrencias" action="/filter.do"
target="main"/>-->
<Menu name="TabbedHome" title="Ocurrencias" action="/opcionesBO.do"
target="main"/>
<Menu name="TabbedAbout" title="Incidencias" action="/admin.do"
target="main" />
<Menu name="TabbedSecurity" title="Seguridad" action="/usuarios.do"
target="main" />
<Menu name="TabbedDenuncias" title="Denuncias"
action="/ingresoVerDenuncias.do" target="main" />
<Menu name="TabbedHelp" title="Ayuda" action="/help.do" target="main"
/>
<Menu name="TabbedContact" title="Contacto" action="/contacto.do"
target="main"/>
<Menu name="TabbedExit" title="Salir" action="/logout.do"
target="_parent"/>
<!-- ==================== Case View Menus ===========================
-->
<!-- FILE -->
<Menu name="CaseDetailMenuFile" title="FILE" description="test">
<Item name="CDnew" title="NEW">
<Item name="CDnewcase" title="CASE"
image="images/case-new.png"
location="index.jsp"/>
<Item name="CDLnewitem" title="ITEM"
image="images/item-new.png"
location="index.jsp"/>
<Item name="CDnewparty" title="PARTY"
image="images/party-new.png"
location="index.jsp"/>
</Item>
<Item name="CDopen" title="OPEN">
<Item name="CDopencase" title="CASE"
image="images/case-open.png"
location="index.jsp"/>
<Item name="CDopenitem" title="ITEM"
image="images/item-open.png"
location="index.jsp"/>
<Item name="CDopenparty" title="PARTY"
image="images/party-open.png"
location="index.jsp"/>
</Item>
<Item name="CDclose" title="CLOSE" location="index.jsp"/>
<Item name="CDexit" title="EXIT"
image="images/exit.png" location="index.jsp"/>
</Menu>
<!-- EDIT -->
<Menu name="CaseDetailMenuEdit" title="EDIT">
<Item name="CDundo" title="UNDO" image="images/undo.png"/>
<Item name="CDcut" title="CUT" image="images/cut.png"/>
<Item name="CDcopy" title="COPY" image="images/copy.png"/>
<Item name="CDpaste" title="PASTE" image="images/paste.png"/>
<Item name="CDclear" title="CLEAR" image="images/clear.png"/>
<Item name="CDselect" title="CLEAR"
image="images/select-all.png"/>
<Item name="CDprefs" title="USER_PREFERENCES"
image="images/prefs.png"/>
</Menu>
<!-- CASE -->
<Menu name="CaseDetailMenuCase" title="CASE">
<Item name="CDadd" title="ADD">
<Item name="CDaddparty" title="PARTY"
image="images/party-add.png"/>
<Item name="CDadditem" title="ITEM"
image="images/item-add.png"/>
<Item name="CDaddcomments" title="COMMENTS"
image="images/comments.png"/>
<Item name="CDadddoc" title="DOCUMENTS"
image="images/documents.png"/>
<Item name="CDaddposition" title="POSITION"
image="images/positions.png"/>
</Item>
<Item name="CDopen" title="OPEN">
<Item name="CDopenparty" title="PARTY"
image="images/party-open.png"/>
<Item name="CDopenitem" title="ITEM"
image="images/item-open.png"/>
<Item name="CDopencomments" title="COMMENTS"
image="images/comments.png"/>
<Item name="CDopendoc" title="DOCUMENTS"
image="images/documents.png"/>
<Item name="CDopenposition" title="POSITION"
image="images/positions.png"/>
<Item name="CDopenhistory" title="HISTORY"
image="images/history.png"/>
</Item>
<Item name="CDassign" title="ASSIGN"
image="images/assign.png"/>
<Item name="CDactivate" title="ACTIVATE"
image="images/activate.png"/>
<Item name="CDpublish" title="PUBLISH"
image="images/case-pub.png"/>
<Item name="CDescalate" title="ESCALATE"
image="images/escalate.png"/>
<Item name="CDdecide" title="DECIDE"
image="images/decide.png"/>
<Item name="CDgenlicen" title="GENERATE_LICENSE"
image="images/genlicense.png"/>
</Menu>
<Menu name="Countries" title="Countries">
<Item title="COUNTRY_AU" image="images/australia2.gif"/>
<Item title="COUNTRY_CZ" image="images/czech2.gif"/>
<Item title="COUNTRY_CN" image="images/china2.gif"/>
<Item title="COUNTRY_DK" image="images/denmark2.gif"/>
<Item title="COUNTRY_FI" image="images/finland2.gif"/>
<Item title="COUNTRY_FR" image="images/france2.gif"/>
<Item title="COUNTRY_JP" image="images/japan2.gif"/>
<Item title="COUNTRY_RU" image="images/russia2.gif"/>
<Item title="COUNTRY_US" image="images/usa2.gif"/>
<Item title="COUNTRY_CH" image="images/switzlnd2.gif"/>
</Menu>
<Menu name="Permissions" title="Permissions" roles="tomcat,role1">
<Item title="Change" location="permissionsForm.jsp"/>
</Menu>
<Menu name="Standalone" title="Standalone Test" location="?Self"/>
</Menus>
</MenuConfig>
And i'm having this error.....
org.apache.jasper.JasperException: Could not retrieve the menu displayer.
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
54)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:700)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
at java.lang.Thread.run(Thread.java:534)
root cause
javax.servlet.ServletException: Could not retrieve the menu displayer.
at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:533)
at org.apache.jsp.menuex_jsp._jspService(menuex_jsp.java:86)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
10)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:700)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
at java.lang.Thread.run(Thread.java:534)
PLEASE HELP!!! I DO NOT KNOW WHAT TO DO ANYMORE....
José López
--------------------------------------
gedas Argentina S.A.
J2EE Development
Delcasse y Av. Henry Ford
B1610BKK Gral. Pacheco
Buenos Aires - Argentina
Teléfono/phone +54.11. 4317-8252
Fax +54.11. 4317-9364
Mailto: jose.lopez <mailto:[email protected]> @gedas.com.ar
<http://www.gedas.com.ar/> http://www.gedas.com.ar
--------------------------------------