Menu popup no STRUTS 2

Amigos, eu preciso de um menu popup para um sistema feito com Strits 2, Sitemesh, no Eclipse 3.4. Já tentei DHTML mas não funciona. Tentei CSS com um pouco de javascript mas também não funciona. Os scrpts não executam. Alguém pode me ajudar?
Obrigado, CarloSilva

Coloque aqui o código que não funciona para vermos o que pode estar errado. E tente explicar melhor o que você precisa. Não entendi muito bem o porque de usar uma popup como menu. Não seria um meni drop-down ?

Olá Guilherme. Obrigado pela atenção. Você tem razão. Embora eu tenha escrito ‘popup’, é mesmo drop-down. O que eu quero é qualquer coisa que permita ao usuário um menu de opções para o sistema. Mas qq código (dhtml ou css) que eu utilize, não funciona. O script não funciona, entende? Você teria um de código que trabalhasse no struts2?
Obrigado

[quote=csilva2001]Olá Guilherme. Obrigado pela atenção. Você tem razão. Embora eu tenha escrito ‘popup’, é mesmo drop-down. O que eu quero é qualquer coisa que permita ao usuário um menu de opções para o sistema. Mas qq código (dhtml ou css) que eu utilize, não funciona. O script não funciona, entende? Você teria um de código que trabalhasse no struts2?
Obrigado[/quote]

Não creio que o problema esteja no Strus 2. Pode ser que código que você está usando não esteja correto, ou não funcione muito bem no browser que você utiliza, etc.

http://imasters.uol.com.br/artigo/3140/javascript/menu_drop_down_-_parte_02/
http://www.maujor.com/tutorial/ddownmenu-a.php

Guilherme, para você ter uma deia do que eu falo, veja este arquivo, menu.gif. Ele é resultado do tutorial que você me mandou. Fiz a pagina direitinho e, quando mando executar, o menu vem todo aberto.
Segue o jsp.
Um abraço, Guilherme. Tente me dizer alguma coisa sobre este problema.

<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<style type=text/css>

li:hover ul ul, li.over ul ul {
display:none;
}

li:hover ul, li li:hover ul, li.over ul,
li li.over ul {
display: block;
} /* Aqui a magica */

li:hover ul, li.over ul {
display: block;
}

</style>

<script language=“javascript” type=“text/javascript”>
over = function() {
var sfEls = document.getElementById(“nav”).getElementsByTagName(“LI”);
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" over";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" over\b"), “”);
}
}
}
if (window.attachEvent) window.attachEvent(“onload”, over);

></script>
<meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1”>
<title>Insert title here</title>
</head>
<body>

  • Home
  • About
  • Services
    • Web Design
    • Internet Marketing
    • Hosting
              <ul>
                 <li><a >Dedicated</a></li> 
                 <li><a >Virtual</a></li> 
                 <li><a >Shared</a></li>
                 <li><a >Managed</a></li>
              </ul>
               
          </li>
          <li><a >Domain Names</a></li> 
          <li><a >Broadband</a></li> 
        </ul> 
      </li>
      
      <li><a >Contact Us</a> 
        <ul> 
          <li><a >United Kingdom</a></li> 
          <li><a >France</a></li> 
          <li><a >USA</a></li> 
          <li><a >Australia</a></li> 
        </ul> 
      
      </li> 
      
    </body> </html>

Você não seguiu o exemplo corretamente. Fiz aqui e funcionou corretamente:

[code]

Horizontal Drop Down Menus body { font: normal 11px verdana; } ul { margin: 0; padding: 0; list-style: none; width: 150px; /* Width of Menu Items */ border-bottom: 1px solid #ccc; } ul li { position:relative; } ul li a { display: block; text-decoration: none; color: #777; background: #fff; /* IE6 Bug */ padding: 5px; border: 1px solid #ccc; border-bottom: 0; } /* Fix IE. Hide from IE Mac \*/ * html ul li { float: left; height: 1%; } * html ul li a { height: 1%; } /* End */ ul li a:hover { color: #E2144A; background: #f9f9f9; } /* Hover Styles */ ul ul { position:absolute; display:none; left: 149px; /* Set 1px less than menu width */ top: 0; } li ul li a { padding: 2px 5px; } /* Sub Menu Styles */ li:hover ul ul, li.over ul ul { display:none; } li:hover ul, li li:hover ul, li.over ul, li li.over ul { display: block; } /* The magic */
  • Home
  • About
    <ul>
      <li><a href="#">History</a></li>
    
      <li><a href="#">Team</a></li>
      <li><a href="#">Offices</a></li>
    </ul>
    
  • Services
    <ul>
      <li><a href="#">Web Design</a></li>
    
      <li><a href="#">Internet Marketing</a></li>
      <li><a href="#">Hosting</a>
      	<ul>
      		<li><a href="#">Dedicated</a></li>
      		<li><a href="#">Virtual</a></li>
    
      		<li><a href="#">Shared</a></li>
    
      		<li><a href="#">Managed</a></li>
      	</ul>
      </li>
      <li><a href="#">Domain Names</a></li>
      <li><a href="#">Broadband</a></li>
    </ul>
    
  • Contact Us
    </ul>
    
[/code]

Sempre que postar código, utilize o BBCode para ajudar na identação do código.

Guilherme, eu consegui. O problema era o Sitemesh. A pagina de menu era chamada por um painel do decorador. E dava erro. Depois da nossa conversa, eu chamei a pag de menu através de um <jsp:include. E funcionou!.. O Sitemesh estava bloquando a execução dos scripts. De qualquer forma, valeu, Guilherme. Eu já estava imaginando ser um bloqueio do Struts 2 ao javascript. Obrigadão. Um abraço.

Ok. Qualquer dúvida, é só postar :wink: