2009-07-24 3 views
6

Ich weiß, dass es eine Bibliothek namens FreeMarker zum Erstellen von E-Mail-Vorlagen für Java gibt. Glauben Sie, dass diese Bibliothek für Unternehmensprojekte geeignet ist? Gibt es andere Bibliotheken, um E-Mail-Vorlagen für Java zu erstellen?E-Mail-Vorlagenbibliothek in Java

+0

können Sie ein Tutorial auf dem Freimarker vorschlagen, um Java-Mail-Vorlagen für Java zu erstellen –

Antwort

11

Freemarker gut funktioniert, und ist sehr mächtig. Velocity hat eine einfachere Syntax, ist etwas weniger leistungsfähig und ist viel fehlerverzeihender. Nullen (Variablen werden nicht gefüllt).

Ich habe beide verwendet, und Velocity ist sehr einfach mit anzufangen. Freemarker (trotz seiner strengeren Implementierung) bietet viel mehr in Bezug auf "Korrektheit" und Ausstattung.

3

ja, ist es. Aus Gründen der Vollständigkeit gibt es andere zwingende Bibliotheken wie:

  • Apache Geschwindigkeit
  • String templace
3

Vor einigen Jahren habe ich eine Anwendung zum Senden von Rechnungsbenachrichtigungen geschrieben. Ich habe Velocity verwendet, um den tatsächlichen Inhalt der E-Mails zu erstellen. Der Transport wurde von James, dem E-Mail-Server von Apache, bereitgestellt. Diese Anwendung sendet täglich zehntausende personalisierte E-Mails.

Velocity gab mir keine Probleme, aber nachdem ich einige Erfahrung mit FreeMarker hatte, würde ich jetzt wahrscheinlich FreeMarker wählen.

2

Nur für das Protokoll, gibt es viele andere template engines, die Sie verwenden können, und nicht nur für E-Mail. In den meisten Projekten, an denen ich gearbeitet habe, wurde Velocity verwendet und wenn es nicht Velocity war, war es Freemarker.

1

Eine andere Option, die Sie untersuchen sollten (wenn auch wahrscheinlich nicht), ist die Verwendung von JSP, wenn Sie sich in einer Servlet-Umgebung befinden. In den meisten Fällen würde ich das nicht empfehlen, da es ziemlich viele Vorarbeiten sind, um dieses Setup zu erstellen.

Dies war jedoch eine nützliche Lösung in unserer Umgebung, wo wir eine Reihe von Webentwicklern haben, die bereits mit JSP-Syntax und benutzerdefinierten Tags vertraut sind. Es war schön, dass sie direkt an den E-Mail-Inhalten arbeiten konnten, ohne eine andere Templating-Sprache lernen zu müssen (obwohl ich sicher bin, dass FreeMarker wahrscheinlich nicht so schwer zu lernen ist). Dieser Ansatz ermöglicht es uns auch, einige unserer benutzerdefinierten Tags in E-Mail-Inhalten wiederzuverwenden.

0

Im Unternehmenssektor haben viele Leute Tools wie Sonar oder PMD, um sich die Code-Komplexität anzusehen. Ich weiß nicht, ob einer von diesen eine Templating-Bibliothek unterstützt. Allerdings war das Niveau der Komplexität der Vorlagen, die ich in der freien Wildbahn überprüft habe, auf hohem Niveau, was ich wirklich in meinem Code verhindern möchte. Ich habe versucht, einige von ihnen zu überarbeiten, und obwohl ich etwas Erfolg hatte, waren die Ergebnisse nie befriedigend. Vor ein paar Tagen habe ich eine 2kLoC Vorlage auf 150 Zeilen Template Code und etwa 1.5kLoC Logik in einer neuen Java Klasse mit Snippetory umgestaltet. Natürlich blieb noch etwas Arbeit, um Metriken zu finden, aber jetzt ist es möglich, wartbaren Code zu erreichen. Snippetory-Vorlagen bieten eine große Problemtrennung, indem die Datenbindungslogik aus der Vorlage entfernt wird. Als Bonus wird die Vorlage wiederverwendbar. Auf der anderen Seite erfordert die Bindung zwischen Logik und Code auch etwas Code. Am Ende änderte sich die Menge des Codes nicht sehr, aber die Lesbarkeit nahm dramatisch zu.

Für das Enterprise-Geschäft würde ich Snippetory empfehlen.

1

Bevor ich anfing, meine E-Mail-Vorlagen zu schreiben, dachte ich, ich werde meinen gFriend fragen, und ich stieß auf die Idee, die JSP-Engine für Templating zu verwenden (wenn Sie in einer Servlet-Umgebung sind).Ich fand die Idee originell und perfekt für meine Bedürfnisse, da ich unter GAE bin und das Hinzufügen von Glas zu GAE ist eine sehr teure Entscheidung (Auswirkungen auf die Leistung)

Und wie kam ich zu diesem Link (die ursprüngliche Idee) https://stackoverflow.com/a/458088/2033675

Also habe ich einen Link zu, wie es Suggestions for Java email templating?

natürlich jemand tun die gleichen Zwänge im Falle zu tun, wie ich haben.

Beste

2

Ich bin der Autor von Pebble Template-Engine, die ich denke, ist genau das, was Sie suchen.