Struts tiles proyecto web eclipse

1

Por admin | Para la categoría de struts | noticia del 25-10-2009

Tutorial de struts

Los tiles son plantillas que utiliza struts para la organización de la estructura visual de las vistas de un proyecto web. En realidad struts no hace más que integrar en su framework algo que ya existía en j2ee, que eran las plantillas con jsp.

Como ya se hizo en un ejemplo de j2ee utilizabamos la directiva <%@include file="xxxx" %> para incluir contenido estático y para la inclusión dinámica utizabamos <%@include page="xxx" %>. esto último como recordatorio j2ee.

Una vez creada la plantilla la podemos reutilizar para cualquier página que tenga dicho formato y así no tener que escribir todo código cada vez que se hace una nueva página.

ejercicios5

Al igual que en los anteriores post, añadimos un nuevo ejercicio a la lista, en este caso para struts-tiles para ello en el fichero ejercicios.jsp, añadimos el siguiente enlace para la acción plantillas.

1
2
3
4
 
   <div class="enlace">
   <html:link action="/plantillas"> 5) struts tiles  </html:link>
   </div>

Recordar estamos con la versión 1.3.10 y esta versión tenemos un fichero de configuración llamado struts-config.xml,

Vemos como el link de la página de los ejercicios va la acción plantillas, en la sección actionMapping del fichero de configuración struts-config.xml

1
2
3
 <action 
         path="/plantillas"
         forward="plantillatiles"/>

Dentro del proyecto creamos una carpeta tiles, donde creamos las páginas jsp que van a intervenir en el proyecto

tiles

En estas páginas jsp hay una que es especialmente importante código de pantilla.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><tiles:getAsString name="titulo"/></title>
 
 <html:base/>
 <link type="text/css" rel="stylesheet" href="../css/estiloplantilla.css"/> 
 </head>
 <body>
  <div id="contenedor">  
   <div id="cabecera">  
  <tiles:insert  attribute="cabecera"/>
   </div>  
   <div id=" contendido ">
     <div id="menu">
    <tiles:get  name="menu"/>
    </div>
    <div id=" contenido ">  
    <tiles:get  name="cuerpo"/>  
    </div>
  </div>  
  <div id="pie">
   <tiles:get  name="pie"/>
  </div> 
 </div> 
 </body>
 </html:html>

Imagen de la plantilla plantilla

Los diferentes tiles, fragmentos de páginas jsp como se utilizan etiquetas de struts es necesario integrar la libreria html en todas ellas, recordar que estan ubicadas tal como la imagen

Código de cabecera.jsp

1
2
3
4
 <%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
  <div id="imagencabecera">    	
       <html:img srcKey="imagen.cabecera" altKey="imagen.cabecera.alt"/>       
  </div>

Código de menu.jsp

1
2
3
4
5
6
 <%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
 <ul id="menu_lateral">
    <li><html:link  action="/objetos"> Objetos </html:link> </li>
    <li><html:link  action="/personajes" > Personajes </html:link> </li>
 </ul> 
 <html:img srcKey="imagen.libros" altKey="imagen.libros.alt"/>

Código de cuerpo.jsp

1
2
3
4
5
6
  <%@taglib uri="http://struts.apache.org/tags-html" prefix="html"  %>
  <p>
   Ejemplo de desarrollo con struts-tiles, tenemos una plantilla base y diferentes definiciones de 
   p&aacute;gina en un fichero xml llamado tiles-def.xml
  </p>
  <html:img srcKey="imagen.lapices" altKey="imagen.lapices.alt"/>

Código de pie.jsp

1
2
3
4
5
6
<%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<p id="pizquierda">
 <html:link action="/Welcome">Ejercicios </html:link>|<html:link action="/plantillas"> Plantilla </html:link>| <html:link action="/objetos"> Objetos</html:link> |<html:link action="/personajes"> Personajes </html:link>
</p>
 
<p id="pderecha"> @CopyRight railsymas.com </p>

Creamos dos nuevas páginas jsp para las vistas personajes y objetos

Código de personajes.jsp

1
2
3
4
5
6
   <%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
  <div id="imagenes">  
   <p> Personajes </p>   
   <html:img srcKey="imagen.personaje1" altKey="imagen.personaje1.alt"/> 
   <html:img srcKey="imagen.personaje2" altKey="imagen.personaje2.alt"/>   
  </div>

Código de la página objetos.jsp

1
2
3
4
5
6
   <%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
   <div id="imagenes">
     <p> Objetos </p>
     <html:img srcKey="imagen.objeto1" altKey="imagen.objeto1.alt"/> 
     <html:img srcKey="imagen.objeto2" altKey="imagen.objeto2.alt"/>   
   </div>

fichero de propiedades

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#tiles
imagen.cabecera = ../imagenes/cabecera2.png
imagen.cabecera.alt = imagen cabecera
imagen.lapices = ../imagenes/lapices.png
imagen.lapices.alt = l&aacute;pices
imagen.libros = ../imagenes/libros.png
imagen.libros.alt = libros
imagen.objeto1 = ../imagenes/candado.png
imagen.objeto1.alt = candado.png
imagen.objeto2 = ../imagenes/impresora.png
imagen.objeto2.alt = impresora.png
imagen.personaje1 = ../imagenes/personachat.png
imagen.personaje1.alt = personachat.png
imagen.personaje2 = ../imagenes/personajes.png
imagen.personaje2.atl = personajes.png

fichero de configuración de las acciones struts-config.xm en la sección action-mapping

1
2
3
4
5
6
7
8
9
10
11
12
13
 
  <action 
   path="/plantillas"
   forward="plantillatiles"/>    
 
<action 
 
  path="/objetos"
  forward="plantillaobjetos" />
 
 <action          
   path="/personajes"         
   forward="plantillapersonajes" />

Tenemos dos posibilidades establecer las definiciones mediante jsp o bien mediante un fichero de configuración xml denominado tiles-def.xml dentro de la carpetan web-inf del proyecto struts

En el siguiente post para la segunda parte de este ejercicio se verá el fichero de configuración antes citado y la explicación más detallada así como las diferentes capturas de las vistas objetos y personajes.

Enlace a la segunda parte de Struts tiles

Comentarios (1)

muy logrado el tutorial gracias


Comentarios cerrados automáticamente al pasar más de un año