Usando Tiles do Struts

2 respostas
L

Ola pessoal, estou estudando Struts e estou com algumas duvidas em relacao a utilizacao de Templates. No endereco http://www.onjava.com/pub/a/onjava/excerpt/progjakstruts_14/index1.html?page=2 existe o exemplo 14-3 que eu o listo abaixo:

<%@ taglib uri="/WEB-INF/tiles.tld" prefix=“tiles” %>

<tiles:insert page="/layouts/storefrontDefaultLayout.jsp" flush=“true”>
<tiles:put name=“header” value="/common/header.jsp" />
<tiles:put name=“menubar” value="/common/menubar.jsp" />
<tiles:put name=“body-content” value="/index-body.jsp" />
<tiles:put name=“copyright” value="/common/copyright.jsp" />
</tiles:insert>

A minha duvida eh na tag <tiles:insert> onde o atributo page recebe como parametro uma pagina jsp. Alguem poderia me dizer oq eh esta pagina? Eu creio que seja o nome do template, mas eu terei que criar uma pagina com este nome onde contera este codigo? Aguardo um retorno

2 Respostas

G

Para vc trabalahar com templates no struts vc tem que ter 3 elementos :

1-Uma página de gabarito;

2-Páginas jsp da sua aplicação;

3- Uma página que carregue os as páginas JSP da sua aplicação nas regiões declaradas no gabarito.

Vou colocar um exemplo simples pra você entender melhor

1º Passo : Gabarito

&lt;!--------------------------Gabarito------------------------------------------&gt;
&lt;!--
Podemos nomear este arquivo de "garito.jsp",é nele que damos nomes às regiões 
que terão nossas páginas e dizemos a sua posição   
--&gt;

&lt;%@ taglib uri='/WEB-INF/tlds/struts-tiles.tld' prefix='tiles' %&gt;
&lt;html&gt;
     &lt;head&gt;
            &lt;title&gt;
                &lt;tiles&#58;insert attribute='title'/&gt;
            &lt;/title&gt;
     &lt;/head&gt;

     &lt;body&gt;
     &lt;table&gt;
           &lt;tr valign='top'&gt;
                 &lt;td&gt;
                     &lt;table&gt;
                           &lt;tr&gt;
                                 &lt;td&gt;
                                        &lt;tiles&#58;insert attribute='header'/&gt;
                                 &lt;/td&gt;
                           &lt;/tr&gt;
                           &lt;tr&gt;
                                 &lt;td&gt;
                                        &lt;tiles&#58;insert attribute='nucleo'/&gt;
                                 &lt;/td&gt;
                           &lt;/tr&gt;
                           &lt;tr&gt;
                                 &lt;td&gt;
                                       &lt;tiles&#58;insert attribute='footer'/&gt;
                                 &lt;/td&gt;
                          &lt;/tr&gt;
                   &lt;/table&gt;
               &lt;/td&gt;
           &lt;/tr&gt;
      &lt;/table&gt;
     &lt;/body&gt;
&lt;/html&gt;

2º Passo : uma página para carreegar os meu templates

&lt;%@ taglib uri='/WEB-INF/tlds/struts-tiles.tld' prefix='tiles' %&gt;
&lt;!-------------------principal.jsp-------------------&gt;
&lt;!--
No atributo page da tag insert vc coloca a sua página de gabarito

na tag put vc dizque  em determinada região &#40;name&#41; vai ser carregada uma página específica  &#40;value&#41;
--&gt;
&lt;tiles&#58;insert page="/gabarito.jsp" flush="true"&gt;
  &lt;tiles&#58;put name="title" value="/titles.jsp" direct="true"/&gt;
  &lt;tiles&#58;put name="header" value="/header.jsp" /&gt;
  &lt;tiles&#58;put name="nucleo" value="/nucleo.jsp"/&gt;
  &lt;tiles&#58;put name="footer" value="/footer.jsp" /&gt;
&lt;/tiles&#58;insert&gt;

3º Passo : Páginas para preencher as regiões da página principal

Nas páginas que vão preenchear as regiões vc não precisa colocar as tags :
<html>
<body>
</body>
</html>

pois elas já estão presentes na página de gabarito

Uma página para a região “title”

&lt;!-----------------------title.jsp--------------------------------&gt;
Exemplo de templates no Struts

Uma página para a região “header”

&lt;!---------------------header.jsp--------------------------&gt;
    &lt;table&gt;
        &lt;tr&gt;
            &lt;td&gt;
                &lt;img src='figuras/topo.gif'/&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/table&gt;

E assim por diante … vc pode ter quantas páginas vc quiser para carregar nas suas regiões

Qualquer dúvida é só mandar

moura03

Cara, muito obrigado, li varios artigos q tinham 1000 passos, mas tava faltando algo, e graças a você eu consegui implementar um exemplo de tiles.

Abraços!

Criado 28 de janeiro de 2003
Ultima resposta 10 de out. de 2009
Respostas 2
Participantes 3