2009-07-24 28 views
6

Sé que hay una biblioteca llamada FreeMarker para crear plantillas de correo electrónico para Java. ¿Cree que esta biblioteca es adecuada para usar en proyectos empresariales? ¿Hay otras bibliotecas para crear plantillas de correo electrónico para Java?Biblioteca de plantillas de correo electrónico en Java

+0

puede sugerir un tutorial sobre el freemarker para crear plantillas de correo java para Java –

Respuesta

11

Freemarker funciona bien, y es muy poderoso. Velocity tiene una sintaxis más simple, es algo menos poderosa y es mucho más tolerante. nulos (las variables no se completan).

He usado ambos, y Velocity es muy fácil de usar. Freemarker (a pesar de su implementación más estricta) ofrece mucho más en términos de 'corrección' e instalaciones.

3

sí, lo es. En aras de la exhaustividad hay otras bibliotecas convincentes como:

  • velocidad Apache
  • cadena templace
3

Hace varios años escribí una solicitud para enviar notificaciones de facturas. Utilicé Velocity para crear el contenido real de los correos electrónicos. El transporte fue proporcionado por James, el servidor de correo electrónico de Apache. Esta aplicación envía 10s de miles de correos electrónicos personalizados cada día.

Velocity no me dio ningún problema, pero después de haber tenido alguna experiencia con FreeMarker, probablemente elegiría FreeMarker ahora.

2

Para su registro, hay muchas otras template engines que puede usar, y no solo para correo electrónico. En la mayoría de los proyectos en los que he trabajado, se utilizó Velocity y cuando no era Velocity, era Freemarker.

1

Otra opción que quizás quiera considerar (aunque probablemente no) es usar JSP, si se encuentra en un entorno Servlet. En su mayor parte, no recomendaría esto, ya que es realmente un montón de trabajo inicial para configurarlo.

Sin embargo, esta fue una solución útil en nuestro entorno, donde tenemos un grupo de desarrolladores web que ya están familiarizados con la sintaxis JSP y las etiquetas personalizadas. Fue agradable poder hacer que trabajen en los contenidos del correo electrónico directamente sin tener que aprender otro lenguaje de plantillas (aunque estoy seguro de que FreeMarker probablemente no sea tan difícil de aprender). Este enfoque también nos permite reutilizar algunas de nuestras etiquetas personalizadas en el contenido del correo electrónico.

0

En el sector empresarial, muchas personas usan herramientas como sonar o PMD para ver la complejidad del código. No sé si alguno de estos admite cualquier biblioteca de plantillas. Sin embargo, el nivel de complejidad de las plantillas que he revisado en la naturaleza estaba en un nivel alto, realmente me gustaría evitar en mi código. Traté de refactorizar algunos de ellos, y aunque obtuve cierto éxito, los resultados nunca fueron satisfactorios. Hace algunos días refactoreé una plantilla de 2kLoC a 150 líneas de código de plantilla y una lógica de 1.5kLoC en una nueva clase de Java usando Snippetory. Por supuesto, esto dejó un poco de trabajo para igualar las métricas, pero ahora es posible lograr un código que se pueda mantener. Las plantillas Snippetory proporcionan una gran separación de preocupaciones al mover la lógica de enlace de datos fuera de la plantilla. Como beneficio adicional, la plantilla se vuelve más utilizable. Por otro lado, la unión entre la lógica y el código también requiere código. Al final, la cantidad de código no cambió mucho, pero la legibilidad aumentó dramáticamente.

Para el negocio empresarial recomiendo Snippetory.

1

Antes de comenzar a hacer mis plantillas de correo electrónico, pensé en preguntarle a mi gFriend, y me vino la idea de usar el motor JSP para plantillas (si está en un entorno de servlets).He encontrado la idea original y perfecto para mis necesidades ya que estoy bajo GAE y añadiendo frasco para GAE es una decisión muy costosa (impacto en el rendimiento)

Y cómo llegué a ese enlace (la idea original) https://stackoverflow.com/a/458088/2033675

por lo que poner un enlace a la forma de hacerlo Suggestions for Java email templating?

forma natural en caso de que alguien va a tener las mismas limitaciones como yo.

Mejor

2

Soy el autor de motor Pebble de plantillas que creo que es exactamente lo que estás buscando.

Cuestiones relacionadas