History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: SM-51
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Matt Raible
Reporter: Raúl Herranz
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Struts Menu

null values using CSSListMenuDisplayer

Created: 24/Jul/06 02:07 AM   Updated: 27/Nov/06 05:46 PM
Component/s: Displayers
Affects Version/s: 2.4.1
Fix Version/s: 2.4.2

Environment: OC4J Standalone, Windows XP Proffesional Edittion


 Description  « Hide
With a simple or a more complicated menu I allways get some null values using CSSListMenuDisplayer:

First example:
===========

menu-config.xml:
-----------------------
<?xml version="1.0" encoding="UTF-8" ?>
<MenuConfig>
<Displayers>
<Displayer name="CssListMenu" type="net.sf.navigator.displayer.CSSListMenuDisplayer"/>
</Displayers>
<Menus>
<Menu name="MenuConsultas" title="Consultas" />
<Menu name="MenuTramites" title="Tramites" />
<Menu name="MenuMataderos" title="Mataderos" />
</Menus>
</MenuConfig>

menu.jsp page:
---------------------
<%@ taglib uri="/WEB-INF/struts-menu.tld" prefix="menu" %>
<%@ taglib uri="/WEB-INF/struts-menu-el.tld" prefix="menu-el" %>
<menu:useMenuDisplayer id="primary-nav" name="CssListMenu" bundle="org.apache.struts.action.MESSAGE">
<menu:displayMenu name="MenuConsultas"/>
<menu:displayMenu name="MenuTramites"/>
<menu:displayMenu name="MenuMataderos"/>
</menu:useMenuDisplayer>

HTML:
---------
<div id="menuDiv"><ul id="menuList">
null
<a href="#" title="Consultas" class="standalone">Consultas</a>
</li>
null
<a href="#" title="Tramites" class="standalone">Tramites</a>
</li>
null
<a href="#" title="Mataderos" class="standalone">Mataderos</a>
</li>
</ul></div>

Second example:
=============

menu-config.xml:
-----------------------
<?xml version="1.0" encoding="UTF-8" ?>
<MenuConfig>
<Displayers>
<Displayer name="CssListMenu"
type="net.sf.navigator.displayer.CSSListMenuDisplayer"/>
</Displayers>

<Menus>
<Menu name="MenuConsultas" title="Consultas" roles="Ciudadano">
<Item name="MenuExplotacion" title="por explotacion">
<Item name="seleccionExplotacion" title="Cambiar Explotacion"
action="/seleccionaExplotacion?method=selecciona"/>
<Item name="datosExplotacion" title="Datos de la explotacion"
action="/explotacion?method=datosBasicos"/>
<Item name="censo" title="Censo" action="/censo" />
<Item name="crotalesDisponibles" title="Crotales disponibles"
action="/explotacion?method=crotales" />
<Item name="movimientos" title="Movimientos explotacion"
action="/movimientosExplot" />
</Item>

<Item name="MenuAnimal" title="por animal">
<Item name="datosBasicos" title="Datos basicos"
action="/datosBasicosAnimal"/>
<Item name="movimientosAnimal" title="Movimientos de animal"
action="/movimientosAnimal"/>
<Item name="partos" title="Partos de animal" action="/partosAnimal"/>
</Item>

<Item name="MenuGuias" title="Guias sanitarias disponibles" action="/guias"
/>
</Menu>

<Menu name="MenuTramites" title="Trámites" roles="SIMOGANWEB.TRAMITAR">
<Item name="notificacionAltaNacimiento" title="Comunicación de ALTA de
nacimiento bovino" action="/notificacionAltaNacimiento?method=new"/>
<Item name="comunicacionMovimientoSinGuia" title="Comunicación de BAJA (sin
guia de origen y sanidad pecuaria)"
action="/comunicacionSinGuia?method=new"/>
<Item name="solicitudGuiaSanitaria" title="Solicitud de guía de origen y
sanidad pecuaria" action="/solicitudGuiaSanitaria?method=new"/>
<Item name="confirmacionMovimientoConGuia" title="Confirmación de guía de
origen y sanidad pecuaria" action="/guiasSinConfirmar"/>
</Menu>

<Menu name="MenuMataderos" title="Mataderos" roles="Matadero" >
<Item name="datosBasicosMatadero" title="Datos basicos"
action="/datosBasicosAnimal"/>
<Item name="movimientosAnimalMatadero" title="Movimientos de animal"
action="/movimientosAnimal"/>
</Menu>
</Menus>
</MenuConfig>

menu.jsp page:
---------------------
<%@ taglib uri="/WEB-INF/struts-menu.tld" prefix="menu" %>
<%@ taglib uri="/WEB-INF/struts-menu-el.tld" prefix="menu-el" %>

<menu:useMenuDisplayer id="primary-nav" name="CssListMenu"
bundle="org.apache.struts.action.MESSAGE">
<menu:displayMenu name="MenuConsultas"/>
<menu:displayMenu name="MenuTramites"/>
<menu:displayMenu name="MenuMataderos"/>
</menu:useMenuDisplayer>

HTML:
---------
<div id="menuDiv"><ul id="menuList">
    null
null
<li class="menubar">
null
</li><li><a href="/simogan/action/seleccionaExplotacion?method=selecciona"
title="Cambiar Explotacion">Cambiar Explotacion</a></li>
<li><a href="/simogan/action/explotacion?method=datosBasicos" title="Datos
de la explotacion">Datos de la explotacion</a></li>
<li><a href="/simogan/action/censo" title="Censo">Censo</a></li>
<li><a href="/simogan/action/explotacion?method=crotales" title="Crotales
disponibles">Crotales disponibles</a></li>
<li><a href="/simogan/action/movimientosExplot" title="Movimientos
explotacion">Movimientos explotacion</a></li>
</ul>
<li class="menubar">
null
</li><li><a href="/simogan/action/datosBasicosAnimal" title="Datos
basicos">Datos basicos</a></li>
<li><a href="/simogan/action/movimientosAnimal" title="Movimientos de
animal">Movimientos de animal</a></li>
<li><a href="/simogan/action/partosAnimal" title="Partos de animal">Partos
de animal</a></li>
<li><a href="/simogan/action/guias" title="Guias sanitarias
disponibles">Guias sanitarias disponibles</a></li>
    null
null
<li><a href="/simogan/action/notificacionAltaNacimiento?method=new"
title="Comunicación de ALTA de nacimiento bovino">Comunicación de ALTA de
nacimiento bovino</a></li>
<li><a href="/simogan/action/comunicacionSinGuia?method=new"
title="Comunicación de BAJA (sin guia de origen y sanidad
pecuaria)">Comunicación de BAJA (sin guia de origen y sanidad
pecuaria)</a></li>
<li><a href="/simogan/action/solicitudGuiaSanitaria?method=new"
title="Solicitud de guía de origen y sanidad pecuaria">Solicitud de guía de
origen y sanidad pecuaria</a></li>
<li><a href="/simogan/action/guiasSinConfirmar" title="Confirmación de guía
de origen y sanidad pecuaria">Confirmación de guía de origen y sanidad
pecuaria</a></li>
    null
null
<li><a href="/simogan/action/datosBasicosAnimal" title="Datos
basicos">Datos basicos</a></li>
<li><a href="/simogan/action/movimientosAnimal" title="Movimientos de
animal">Movimientos de animal</a></li>
</div>

 All   Comments   Change History   FishEye      Sort Order:
Matt Raible - 07/Aug/06 11:02 AM

Raúl Herranz - 09/Aug/06 03:15 AM
Exactly the same.... :(((

Matt Raible - 17/Oct/06 06:38 AM
This should be fixed in CVS - I'm no longer able to reproduce this issue.

Raúl Herranz - 23/Nov/06 05:34 AM
I think that it's not resolved... right now we have this (with version 1.4.2, of course) results:

menu.jsp
-------------

<%@ taglib uri="/WEB-INF/struts-menu.tld" prefix="menu" %>
<%@ taglib uri="/WEB-INF/struts-menu-el.tld" prefix="menu-el" %>

<menu:useMenuDisplayer name="CSSListMenu" id="primary-nav" bundle="org.apache.struts.action.MESSAGE" permissions="rolesAdapter">
    <menu:displayMenu name="MenuConsultas"/>
    <menu:displayMenu name="MenuTramites"/>
    <menu:displayMenu name="MenuMataderos"/>
</menu:useMenuDisplayer>

menu-config.xml
-----------------------

<?xml version="1.0" encoding="UTF-8" ?>


<MenuConfig>

<Displayers>
    <Displayer name="CSSListMenu"
     type="net.sf.navigator.displayer.CSSListMenuDisplayer"/>
  </Displayers>


  <Menus>

<Menu name="MenuConsultas" title="Consultas" roles="Ciudadano">
<Item name="MenuExplotacion" title="por explotacion">
<Item name="seleccionExplotacion" title="Cambiar Explotacion" action="/seleccionaExplotacion?method=selecciona"/>
<Item name="datosExplotacion" title="Datos de la explotacion" action="/explotacion?method=datosBasicos"/>
<Item name="censo" title="Censo" action="/censo" />
<Item name="crotalesDisponibles" title="Crotales disponibles" action="/explotacion?method=crotales" />
<Item name="movimientos" title="Movimientos explotacion" action="/movimientosExplot" />
</Item>

<Item name="MenuAnimal" title="por animal">
<Item name="datosBasicos" title="Datos basicos" action="/datosBasicosAnimal"/>
<Item name="movimientosAnimal" title="Movimientos de animal" action="/movimientosAnimal"/>
<Item name="partos" title="Partos de animal" action="/partosAnimal"/>
</Item>

<Item name="MenuGuias" title="Guias sanitarias disponibles" action="/guias" />
</Menu>

<Menu name="MenuTramites" title="Trámites" roles="SIMOGANWEB.TRAMITAR">
<Item name="notificacionAltaNacimiento" title="Comunicación de ALTA de nacimiento bovino" action="/notificacionAltaNacimiento?method=new"/>
<Item name="comunicacionMovimientoSinGuia" title="Comunicación de BAJA (sin guia de origen y sanidad pecuaria)" action="/comunicacionSinGuia?method=new"/>
<Item name="solicitudGuiaSanitaria" title="Solicitud de guía de origen y sanidad pecuaria" action="/solicitudGuiaSanitaria?method=new"/>
<Item name="confirmacionMovimientoConGuia" title="Confirmación de guía de origen y sanidad pecuaria" action="/guiasSinConfirmar"/>
</Menu>

    <Menu name="MenuMataderos" title="Mataderos" roles="Matadero" >
<Item name="datosBasicosMatadero" title="Datos basicos" action="/datosBasicosAnimal"/>
<Item name="movimientosAnimalMatadero" title="Movimientos de animal" action="/movimientosAnimal"/>
</Menu>

  </Menus>


</MenuConfig>

HTML:
---------

<div id="menuDiv">
    <ul id="primary-nav" class="menuList">
        <li class="menubar">
            <a href="#">Consultas</a>
            <ul>
                <li class="menubar">
                    <a href="javascript:void(0)">por explotacion</a>
                    <ul>
                        <li><a href="null" title="Cambiar Explotacion">Cambiar Explotacion</a></li>
                        <li><a href="null" title="Datos de la explotacion">Datos de la explotacion</a></li>
                        <li><a href="null" title="Censo">Censo</a></li>
                        <li><a href="null" title="Crotales disponibles">Crotales disponibles</a></li>
                        <li><a href="null" title="Movimientos explotacion">Movimientos explotacion</a></li>
                    </ul>
                </li>
                <li class="menubar">
                    <a href="javascript:void(0)">por animal</a>
                    <ul>
                        <li><a href="null" title="Datos basicos">Datos basicos</a></li>
                        <li><a href="null" title="Movimientos de animal">Movimientos de animal</a></li>
                        <li><a href="null" title="Partos de animal">Partos de animal</a></li>
                    </ul>
                </li>
                <li><a href="null" title="Guias sanitarias disponibles">Guias sanitarias disponibles</a></li>
            </ul>
        </li>
     <li class="menubar">
            <a href="#">Trámites</a>
            <ul>
                <li><a href="null" title="Comunicación de ALTA de nacimiento bovino">Comunicación de ALTA de nacimiento bovino</a></li>
                <li><a href="null" title="Comunicación de BAJA (sin guia de origen y sanidad pecuaria)">Comunicación de BAJA (sin guia de origen y sanidad pecuaria)</a></li>
                <li><a href="null" title="Solicitud de guía de origen y sanidad pecuaria">Solicitud de guía de origen y sanidad pecuaria</a></li>
                <li><a href="null" title="Confirmación de guía de origen y sanidad pecuaria">Confirmación de guía de origen y sanidad pecuaria</a></li>
            </ul>
        </li>
        <li class="menubar">
            <a href="#">Mataderos</a>
            <ul>
                <li><a href="null" title="Datos basicos">Datos basicos</a></li>
                <li><a href="null" title="Movimientos de animal">Movimientos de animal</a></li>
            </ul>
        </li>
    </ul>
</div>

Matt Raible - 27/Nov/06 05:45 PM
Can you create a WAR application that can be deployed in Tomcat to reproduce this issue? If so, I'll re-open the issue.

Matt Raible - 27/Nov/06 05:46 PM
I just noticed you're running on OC4J - I suspect this may be the issue since I can't reproduce the issue on Tomcat.