JSP - página modelo

2 respostas
C

Olá a todos, vamos ao assunto!

Detalhes:

  • Tenho um site, o qual é baseado em páginas modelos (cabeçalho, menu, conteúdo, rodapé).
  • O conteúdo define o título da página, e a localização do conteúdo define qual modelo é usado.
  • O conteúdo não deve receber uma requisição, esta requisição deve ser repassada para o modelo que irá incluir o conteúdo dentro.

Solução tentada:

  • Um servlet mapeado para requisições com uma extensão (por exemplo *.do).
  • O usuário solicita “www/contexto/local/pagina.do”.
  • O servlet recebe a requisição, identifica o tema com base no “local”, e repassa a requisição para o modelo do tema.
  • O modelo recebe a requisição e inclui o conteúdo indicado pela requisição, no caso “local/pagina.jsp”

Bem, isto está funcionando mas:

  • se o usuário tentar acessar “www/contexto/local/pagina.jsp”, a página de conteúdo será carregada sem o modelo.
  • consigo definir o título da página mas o código html fica quebrado com uma tag “title” no meio do corpo.

A solução que estou usando é simples, cheguei a fazer vária pesquisas sobre JSF, padrões como Front Controller…

Acho que é só isso, o que gostaria de saber, é se alguém conheçe uma solução que englobe (mesmo que parcialmente) este problema definido.
Agradeço dicas e indicações de locais para pesquisa também.

2 Respostas

J

Seriam templates?

http://tiles.apache.org/
http://www.opensymphony.com/sitemesh/

C

Olá Jair,

> Seriam templates?
Acredito que sim, não posso afirmar com certeza.

Estou analisando as suas duas sugestões, vou comentar abaixo, por favor me corrija se estiver falando asneira…

> Tiles
Já havia encontrado uma solução semelhante, sem necessidade de configuração de um ambiente a mais, mas não gostei desta solução por precisar de uma mapeamento para cada página. Num site grande e mutável como o nosso, isso vai dar mais trabalho do que reduzir.

> SiteMesh
Aparentemente uma solução mais plausível, por pedir apenas uma mapeamento para cada “tema”, o site não tem muita informação para analisar melhor, estou baixando e vou olhar nos exemplos.

Obrigado!!

>>inclusão de comentário<<
Estou testando o SiteMesh e ele aparenta atender perfeitamente as nossas necessidades, valeu pela dica Jair.

Criado 8 de agosto de 2007
Ultima resposta 8 de ago. de 2007
Respostas 2
Participantes 2