Como dividir o Layout (Menu, Topo, Rodapé)?

Olá pessoal,

Estou tentando simular um Frame só que utilizando tabela, pois se eu usar frame a página vai ficar estática, não vai ter como usar a barra de rolagem, pois rolaria apenas o quadro principal nele mesmo.

Estou usando assim:

<table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td colspan="2"><%@ include file="topo.jsp" %></td> </tr> <tr> <td><%@ include file="menu.jsp" %></td> <td><%@ include file="filmes.jsp" %></td> </tr> <tr> <td colspan="2"><%@ include file="down.jsp" %></td> </tr> </table>
O que gostaria de saber é como que à partir de um link do menu.jsp eu alteraria o include do quadro principal, no caso ai o filmes.jsp.

Meu link:

<a href="frame.jsp?link=cadFilme">Cadastrar Filme</a>

Então a pergunta final é:
Tem como eu colocar um parâmetro do GET dentro de um include tipo:

<%@ include file="cadFilme.jsp" %>

Ficaria:

<%@ include file=<% request.getParameter("link"); %> %>

opa!

sugiro que use um layout com CSS para ficar mais leve e mais facil

dá uma olhada aqui

abraço

Isto, o melhor jeito para vc trabalha é com CSS e use a tag"

" ao inves de “” o seu layout fica melhor e mais facil de trabalhar.

Conhece o sitemesh???

http://www.opensymphony.com/sitemesh/

Se estiver usando JSF. Tem o Facelets :
https://facelets.dev.java.net/

paulofernandesjr: Meu problema não é o layout e sim o carregamento das páginas.

joaorafael: Usar

é legal sim, mas não estou usando, pois se eu fazer uma busca e o meu retorno de lista for maior (de tamanho vertical mesmo) que meu layout (height) o conteúdo retornado ultrapassa o layout, já com a tabela, esta cresce dinamicamente deixando o conteúdo do resultado todo dentro do meu designer.

eduardocsanto: Estou estudando JSP + Servlet ainda…

g4j: Sinceramente não entendi muito sobre o que me passou e se eu ficar implantando outras tecnologias vou fugir do escôpo do meu estudo que é por enquanto JSP + Servlet.

Obrigado a todos até agora. (:

WashingtonBotelho É perfeitamente possível a div crescer dinamicamente acompanhando todo o seu layout/design.

Gbzao!: Eu tenho 3

que deveria crescer, a do menu, do conteúdo e da lateral direta. Se soubesse já ajudava, apesar de fugir um pouco do escopo da dúvida. =]

WashingtonBotelho: A solução para seu problema é um técnica chamada Faux Columns.

Você pode pesquisar mais sobre o assunto no google, mas, segue um exemplo:
http://forum.imasters.uol.com.br/index.php?showtopic=225319

Bem pessoal, depois de um tempo e graças ao livro de Edsson Gonçalves eu consegui achar uma solução para meu problema.
Não sei se é a mais certa, mas eu adaptando algumas coisas, esta fazendo o que quero. Seque o código:
frame.css:

#geral { position: absolute; width: 950px; background-color: #FFFFFF; float: none; } #topo { width: 950px; height: 140px; background: url(../topo.png); } #menu { float: left; width: 150px; padding: 5px; /* Espaços em volta de tudo */ } #conteudo { float: left; width: 750px; padding: 15px; } #direita{ /* 150 + 750 + 5 = 905 cadê os 45? */ float: right; width: 5px; background: url(../direita.png) repeat-y; /* Não esta repetindo. */ } #rodape { width: 950px; height: 60px; clear: both; background: url(../rodape.png); }frame.jsp:

[code]<%@page isELIgnored=“false” %>

<% String link = request.getParameter("link"); if (link == null) { link = (String) session.getAttribute("link"); } session.setAttribute("link", link); %>
<div id="tudo">
  <div id="topo"><jsp:include page="topo.jsp"/></div>
  <div id="menu"><jsp:include page="menu.jsp"/></div>
  <div id="conteudo"><jsp:include page="${param.link}"/></div>
  <div id="direita"><jsp:include page="direita.jsp"/></div>
  <div id="rodape"><jsp:include page="rodape.jsp"/></div>
</div>
[/code]
  • Reparem que em vez de usar <%@include%>, estou usando <%jsp:include%> e isto me permite passar parametro sem dar erro.
  • Outro jeito seria usar o <c:import url="${param.link}"/> da biblioteca core, mas não precisou ir tão longe.
  • Outra ajuda foi do EL, que com ele posso passar parâmetro sem que este seja reconhecido como string.
  • E o ponto chave foi guarda o último link visitado na sessão, pois se eu fizer um GET ou POST dentro da página incluida no ‘conteudo’ o parametro link será null, e se ele for null eu seto ele com o último link visitado, assim a página voltando para a mesma no qual eu dei o GET e POST.
  • Os comentários do css são verídicos e não consegui resolver. =]

É tudo que fiz pessoal.
Espero poder ajudar alguém com este código, e obrigado a todos que tentaram ajudar. :wink:

dae brother, procurar saber mais sobre TILES, vc vai ver, é PERFEITO para o q vc tá querendo…layout dinâmico…

falows!