tutorial mediante framework español descargar desarrollo basico aplicaciones java asp.net-mvc spring-mvc template-engine templating

java - mediante - spring framework pdf español



¿Existe un lenguaje de plantillas similar a Razor para las aplicaciones web de Java Spring? (5)

Estoy enamorado de las plantillas de maquinilla de afeitar en .NET MVC 3. ¿Hay algo cerca para Java?

Estaría buscando algo donde pudiera evitar usar etiquetas JSTL y, en cambio, hacer algo como esto:

<c:if test=${bla}> <span>my html</span> </c:if>

y en su lugar hacer

@if(bla) { <span>my html</span> }

Supongo que debe ser similar


Eche un vistazo a twirl , el motor de plantillas de Play Framework separado del framework.

Ejemplo:

@if(items.isEmpty) { <h1>Nothing to display</h1> } else { <h1>@items.size items!</h1> }


Me gustaría presentar mi trabajo: el motor de plantillas Rythm , un motor de plantillas ligero y súper rápido en Java que utiliza la sintaxis de Razor . Rythm tiene numerosas funciones y es compatible con el diseño / herencia de páginas, etiquetas personalizadas (ya sea en plantilla o en clase java), recarga dinámica en modo dev y mucho más. ¡El benchmark muestra que Rythm es 2 a 3 veces más rápido que Velocity en una página normal!

La API es simple:

  1. render con cadena en línea:

    String output = Rythm.render("@args String who;hello @who!", "world");

  2. render con plantilla de archivo:

    String output = Rythm.render("hello.txt", "world");

Una breve introducción a Rythm: http://software-lgl.blogspot.com.au/2012/03/rythm-easy-to-use-high-performance-java.html

Actualizaciones 20120701

La última versión introdujo una función llamada " Modo de interpolación de cadenas ", que le permite realizar una interpolación de cadenas muy ligera como la siguiente:

String result = Rythm.render("hello @who!", "world");

Una demostración completa de características está alojada en GAE: http://play-rythm-demo.appspot.com/

Actualizaciones 20130406

Ahora hay un sitio web de violín de ritmo en línea, y puede usarlo para aprender la sintaxis de Rythm. Compruébelo en http://fiddle.rythmengine.org

Actualizaciones 20130513

  • el nombre del paquete cambió de com.greenlaw110.rythm a org.rythmengine , la identificación del grupo de org.rythmengine cambió en consecuencia
  • Visita el nuevo sitio web del proyecto: http://rythmengine.org

Por lo que sé, no hay ninguno que se parezca y se comporte como Razor en ese mundo de Java.

Por lo que puedo entender, el motor de plantillas en Razor no solo analiza los "marcadores de posición" en el texto estático, como #xxx en Velocity o ${xxx} en JSP.

En cambio, el símbolo @ en Razor actúa como un interruptor para cambiar al analizador de lenguaje de alojamiento (VB y C # en el caso de Razor), reconociendo la sintaxis completa del elemento inmediatamente después del signo @ . Esto permite que Razor reconozca tanto los nombres de los objetos pasados ​​al motor como las estructuras sintácticas, como los bucles y condicionales.

Esto abre toda la potencia del lenguaje de alojamiento a las plantillas de Razor, lo que puede ser peligroso en las manos equivocadas ...

La mayoría de los motores de plantillas en el lado Java del mundo han elegido conscientemente separar estrictamente la lógica empresarial de las preocupaciones de las plantillas y, por lo tanto, tienen un soporte muy limitado o nulo para funciones dinámicas como bucles o condicionales en sus "idiomas" de la plantilla, optando por el estilo declarativo sobre dinámica.


Spring soporta varios lenguajes de plantillas:

Para obtener más información sobre cómo integrarse con Spring, consulte esta página .

Además, existe StringTemplate , que, aunque no se menciona en la documentación oficial de Spring, se puede utilizar como un motor de plantillas de Spring.

Y si realmente desea volverse loco, aquí hay una página con otros bazillones de motores de plantillas.


Trate de echar un vistazo a la velocidad (http://velocity.apache.org)