Las baldosas y Sitemesh se ven bastante populares, pero estas cosas son muy viejas y se ven terribles en comparación con las cosas increíbles de, p. Ej. Ruby (ERB) o PHP (Plantilla de energía abierta). En la actualidad, los motores de plantillas permiten plantillas cómodas (insertando variables, autoescaping dependiendo del contexto, iterando a través de Iterables, accediendo a propiedades de bean) y mapeando (por ejemplo, encabezados, pies de página y reemplazando y agregando algunas partes definidas en parent) sin ninguna configuración difícil y sin necesidad de cambiar su pila actual (por ejemplo, su marco web).JSP, Sitemesh y Azulejos hardcore: ¿alguna alternativa?
Ejemplo Parent.html:
<html>
<head>
<title>
<layout:part name="title">
Default title
</layout:part>
</title>
<layout:part name="head" />
</head>
<body>
<div class="menu" layout:part="menu">
default menu
</div>
<div class="content" layout:part="content" />
<div class="footer">
(c) me
</div>
</body>
</html>
Ejemplo Child.html
<layout:extend file="parent.html">
<layout:fill name="title">
Custom title
</layout:fill>
<layout:fill name="contnet">
the content
{$var} from model
</layout:fill>
</layout:extend>
estoy en busca de mejores Facelets, que no requerirá de mí para cambiar toda la pila - Soy no va a adaptar todo el proyecto a JSF o Wicket solo para usar mejores vistas.
El motor de plantillas no debería requerir ningún servlet o filtro adicional (sin lógica basada en URL). Quiero usar el motor programáticamente. Un posible caso de uso es la definición de un ViewResolver personalizado en Spring 3.
Sería perfecto si los diseños no se definieran por adelantado en un archivo de configuración. Eso no es necesario si solo defines la vista principal en el archivo de plantilla.
El marco puede estar encima de JSP pero no tiene que hacerlo. La ventaja es la posibilidad de utilizar taglibs proporcionados por otros marcos (por ejemplo, Spring).
¿O tal vez todo ya está en Sitemesh/Tiles pero necesita mucha configuración? Si conoce alguna configuración de ejemplo que le permita alcanzar todos los objetivos mencionados, infórmeme al respecto.
Pregunta relacionada: what alternatives exist to Sitemesh to help layout JSP/JSTL page footers/headers in a Spring MVC app? - mi pregunta se refiere a la creación de plantillas también, y no se limita a Spring Web MVC.
¿Por qué crees que Tiles 2 tiene un estilo antiguo? Acabo de pasar por alto ERB, pero parece que puedes lograr las mismas características usando Tiles 2 y Velocity, por ejemplo. ¿Que necesitas? – sinuhepop
Se desaconseja solicitar sugerencias de marcos aquí. Si desea [editar] todas las solicitudes y hacer una pregunta que pueda responderse aquí sin hacer clic fuera del sitio, hágalo y marque para volver a abrir. Gracias. – Will