Usando Apache Velocity
¿Que es Velocity?
Velocity es un proyecto de Apache para el desarrollo de Templates para la capa de vista dentro del modelo MVC, siendo esta última la más conocida de todas las formas de uso de Velocity. Pero es mucho más que eso, podemos usar el motor de Velocity para lo que necesitemos utilizando siempre el concepto de uso de templates.
¿Que es un template?
Como su nombre lo dice es una plantilla, les dejo un ejemplo de como seria una plantilla Velocity para una vista en html:
1 | #set ($hola = "Hola Mundo") |
Donde:
- #set es una directiva para settear valores
- $hola es la variable setteada con el valor Hola Mundo
- #d() es una Velocimacro
- $salida es una variable de contexto que sera setteada desde la ejecución de Velocity (ver código fuente de java)
¿Cuándo podemos utilizar Templates?
Hay un sin número de aplicaciones, como por ejemplo:
- Envío de mails personalizados, en este punto uno podría escribir los templates (email tipo) y dejar ciertos tags de Velocity (llamados directivas) para la personalización.
- Generar XML’s dinamicos.
- Generar otro tipo de salidas como por ejemplo JSON.
- Generar PDF mediante docbook, incluso otro tipo de archivos (rdf, txt)
- Y el más usado, escribir templates para ser usados como html en la capa de vista.
Usando Velocity Engine
Primero creamos un proyecto con Maven2 para hacer la vida mas fácil y agregamos las siguientes dependencias:
1 | <dependencies> |
Luego creamos la clase que hará el trabajo de llamar a VelocityEngine, la carga del template y finalmente la salida.
1 | package cl.firefox.pcollaog.velocity; |
Espero que el código se explique por si solo.
Aquí dejo el ejemplo completo hecho con Maven2, para ver la ejecución, dentro del código fuente va un Test Unitario que imprime la salida de los templates.
1 | $ mvn clean compile test |
Baja el código fuente aquí:
Mas Información en:
Usando Apache Velocity