tutorial template starter mvc example java spring jsp spring-mvc velocity

java - template - ¿Beneficios de usar JSTL vs Velocity para ver la capa en la aplicación MVC?



spring-boot-starter-velocity (3)

Preferiría usar Velocity solo porque el uso de JSP + JSTL puede permitir que los desarrolladores perezosos / descuidados tengan problemas al agregar scriptlets. No debería haber ninguna razón para tener código Java en su nivel de vista. No hace falta mucho para entender Velocity y, de hecho, lo recogí en unas dos semanas. Si bien no me gusta el formato de la salida, en su mayor parte funciona bastante bien. En realidad, no lo estamos usando en el nivel de vista de la aplicación, sino más bien para generar HTML para que lo usen otros navegadores. Guardamos el resultado de Velocity como archivos que luego se implementa en un servidor diferente para el consumo de otros clientes web.

Actualmente estoy construyendo una aplicación Spring MVC. Estaba buscando utilizar páginas JSP con bibliotecas de etiquetas para manejar la capa de vista y el formato del HTML, pero me encontré con otro grupo en mi compañía que usa plantillas de Velocity para el mismo propósito.

Por lo que puedo ver, me parece que hay muchas similitudes entre los dos enfoques:

  1. Ambos tienen una sintaxis fácil de entender. Facilita la comprensión y el uso por parte de los no desarrolladores, lo que permite a los diseñadores centrarse en el HTML / CSS y solo tener que usar directivas / bibliotecas de etiquetas en los pocos casos en que necesitan condicionales / contenido dinámico sin tener que comprender completamente Java.
  2. Simple de ver qué parte del contenido es HTML vs que son directivas / lógica.
  3. Ambos son muy usados ​​y bien respaldados.
  4. Simple de integrar con Spring MVC.

Pero al comparar las dos tecnologías, no veo razones específicas para usar una frente a la otra. Tengo problemas para pensar en los inconvenientes específicos de Velocity o JSTL.

Entonces mi pregunta es, ¿cuáles son los pros y los contras de cada uno en su opinión? Si ha creado una aplicación MVC (Spring) usando una u otra, ¿qué le hizo decidir sobre la tecnología de capa de vista que está utilizando y qué (si es que lo hizo) le hizo decidir contra la otra?

Actualización : he encontrado una discusión similar sobre este mismo tema archivada en el foro de Spring Framework aquí , que podría ser de interés para cualquiera que tome la misma decisión entre JSTL y Velocity que yo.


En realidad, prefiero Freemarker a Velocity, por si acaso estás abierto a explorar otras opciones. Comparación aquí:

http://freemarker.org/fmVsVel.html

Estoy de acuerdo con las declaraciones de Ben sobre la aplicación de una vista simple al evitar JSP y la posibilidad de scriptlets. También me gusta la capacidad de renderizar una plantilla Freemarker o Velocity en cualquier tipo de entorno de ejecución (método JUnit, main ()) sin requerir un contenedor Servlet / JSP como lo haría JSP.


JSP también es más difícil de diferenciar visualmente del HTML incrustado. Con Velocity, es muy obvio.

Además, el paquete VelocityTools proporciona una gran cantidad de funcionalidad adicional.