2011-04-14 15 views
9

Estoy planeando crear una aplicación web usando J2ee, Spring 3.0n, Freemarker y jQuery.Página maestra con plantilla Freemarker y J2EE como .net

Mi pregunta es: ¿hay alguna manera de crear una página maestra con encabezado y pie de página e incluir todos los archivos Javascript para que pueda llamar directamente a esa página en toda mi página y ahorrar tiempo para incluir todo el archivo js una y otra vez?

Igual que .Net proporciona el concepto de una página maestra, quiero crear mi propia página maestra en Freemarker.

Respuesta

9

Básicamente se escribe una macro, llamémosla masterTemplate.

[#macro masterTemplate title="defaultTitle"] 
    <!DOCTYPE html 
      PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta> 
     <title>${title}</title> 
     ... scripts, style sheets, meta information ... 
    </head> 
    <body> 
    <div id="header">...</div> 
    <div id="content"> 
     [#nested /] 
    </div> 
    <div id="footer>...</div> 
    </body> 
    </html> 
[/#macro] 

A continuación, utiliza esta macro dentro de sus páginas como esta:

[#import "/path/to/masterTemplate.ftl" as layout /] 

[@layout.masterTemplate title="My test page"] 
    ...content goes here... 
[/@layout.masterTemplate] 

A lograr algún tipo de técnica de decoración pasando todos los datos relevantes de la página como atributo a la masterTemplate: Véase el título atributo. De la misma manera, puede pasar scripts y hojas de estilo adicionales.

Esta técnica se muestra aquí: Freemarker wiki

+0

gracias amigo eso es lo que estaba buscando muchas gracias –

Cuestiones relacionadas