Suggestions pour Java email template?
nous avons une application qui a besoin d'envoyer différents types de modèle de courriel. Le code actuel est très lourd et pas très souple. Croit-on connaître d'une bibliothèque à l'aide de ce type de travail... Nous sommes à la recherche d'une sorte de bibliothèque de templates pour le courrier électronique.
Vous devez vous connecter pour publier un commentaire.
StringTemplate est également un très joli modèle de moteur.
Peut-être Apache Velocity pourrait travailler pour vous?
Jack Leow a dit qu'il a écrit une coutume HttpServletResponse afin qu'il puisse ré-utiliser les Jsp pour la génération de modèles d'e-mail, j'ai juste fait la même chose et aimerais partager mon exemple de code /prototype pour ceux qui ne sont pas sûr où commencer:
Généralement lors de la diffusion d'une page JSP, vous feriez quelque chose comme ceci:
Maintenant, au lieu de le faire jsp.en avant pour une HttpServletResponse, faire une jsp.d'avance de votre personnalisé Servlet Réponse:
Votre EmailServlet réponse sera simplement une classe qui implémente HttpServletResponse, de remplir les blancs et l'utilisation d'un sous-jacent StringWriter pour accomplir la toString conversion:
N'hésitez pas à améliorer le code en cas de besoin, c'était un prototypage rapide de session 🙂
J'ai rencontré un problème similaire il ya environ un an. Dans notre cas, nos développeurs front end étaient tous familiers avec JSP, et je n'ai vraiment pas envie de jeter un autre moteur de template dans le mélange. Je voulais quelque chose qui a invoqué le conteneur de servlet de JSP processeur pour générer du contenu d'e-mail pour moi.
C'est assez simple:
HttpServletResponse
etServletOutputStream
qui capture le contenu écrit par le conteneur de servlets et la transforme en une Chaîne de caractères, et s'est appuyé surRequestDispatcher.include(...)
de faire une "demande" pour le modèle JSP (j'ai aussi écrit une coutumeHttpServletRequest
pour isoler l'original de la demande de mutation).Je préfère Freemarker, ici plus de Vitesse; omi, Freemarker beaucoup plus simple dans ce cas.
Si vous utilisez le Printemps, alors vous pouvez être intéressé, Freemarker dans Spring MVC.
Voici un Java modèle de référence
Si vous aimez StringTemplate, comme vous pouvez le Google Soja mieux. Une meilleure ergonomie, de mieux en mieux organisés, mieux documentation, et une meilleure prise en charge, de l'OMI.
Il est également possible de créer un "contenu du courrier jsp" comme
puis il suffit de faire une requête client http "/mails/*.jsp" pour obtenir le contenu des messages que vous souhaitez.
Je pense que c'est une utilisation équitable des jsp puisque vous voulez générer du code HTML de toute façon, et la demande de votre propre serveur n'est pas dans la bande passante.
La bonne chose est que vous pouvez faire jsp inclusion, ou même l'utilisation plus avancée de bibliothèques comme des tuiles, jsf, struts, le guichet. Vous n'avez pas besoin d'apprendre un nouvel outil pour cela, vous pouvez utiliser ce que vous savez déjà. Les jsp sont une très performant moteur de template, elles existent depuis les années 2000.
Le mauvais point est que vous ne pouvez pas utiliser le contenu des variables de composer votre jsp, vous êtes limité à des chaînes en tant que paramètres de la requête (ou une bonne énorme json :-))
C'est aussi un bon moyen d'isoler le code et de répartir les serveurs plus tard si vous avez besoin d'optimisation de la performance.
Il y a un exemple à utiliser Snippetory pour les e-mails.