2009-07-24 3 views
6

Я знаю, что для создания шаблонов электронной почты для Java существует библиотека под названием FreeMarker. Как вы думаете, эта библиотека подходит для использования в корпоративных проектах? Есть ли другие библиотеки для создания шаблона электронной почты для java?Библиотека шаблонов электронной почты в Java

+0

вы можете предложить учебник по freemarker для создания шаблонов java-почты для java –

ответ

11

Freemarker работает хорошо, и является очень мощным. Velocity имеет более простой синтаксис, несколько менее мощный и намного более прощающий wrt. nulls (переменные, которые не заполняются).

Я использовал оба, и Velocity очень легко начать. Freemarker (несмотря на более строгую реализацию) предлагает гораздо больше возможностей «правильности» и возможностей.

3

да, есть. Для полноты картины есть и другие важные библиотеки:

  • скорость апач
  • строка templace
3

Несколько лет назад я написал заявку на отправку фактурных уведомлений. Я использовал Velocity для создания фактического содержимого электронных писем. Транспорт был предоставлен Джеймсом, почтовым сервером Apache. Это приложение ежедневно отправляет 10 тысяч персонализированных электронных писем.

Velocity не вызывала у меня никаких проблем, но, имея опыт работы с FreeMarker, я бы, вероятно, сейчас выбрал FreeMarker.

2

Просто для записи есть много других template engines, которые вы можете использовать, а не только для электронной почты. В большинстве проектов, над которыми я работал, использовалась Velocity, и когда это была не скорость, это был Freemarker.

1

Еще один вариант, который вы, возможно, захотите изучить (хотя, вероятно, нет), использовать JSP, если вы находитесь в среде Servlet. По большей части, я бы не рекомендовал это, так как это действительно довольно много работы, чтобы получить эту настройку.

Однако это было полезное решение в нашей среде, где у нас есть куча веб-разработчиков, которые уже знакомы с синтаксисом JSP и пользовательскими тегами. Приятно было иметь возможность напрямую работать с содержимым электронной почты, не изучая еще один язык шаблонов (хотя я уверен, что FreeMarker, вероятно, не так уж трудно учиться). Этот подход также позволяет нам повторно использовать некоторые из наших пользовательских тегов в содержимом электронной почты.

0

В секторе предприятий многие люди используют инструменты, такие как сонар или PMD, чтобы посмотреть на сложность кода. Я не знаю, поддерживает ли одна из них любую библиотеку шаблонов. Тем не менее, уровень сложности шаблонов, которые я просмотрел в дикой природе, был на высоком уровне, я бы очень хотел предотвратить в своем коде. Я попытался реорганизовать некоторые из них, и хотя я добился определенного успеха, результаты не были удовлетворительными. Несколько дней назад я реорганизовал шаблон 2kLoC на 150 строк кода шаблона и около 1.5kLoC логики в новом классе java, используя Snippetory. Конечно, это оставило еще какую-то работу, чтобы соответствовать метрикам, но теперь можно достичь поддерживаемого кода. Шаблоны шаблонов обеспечивают отличное разделение проблем, перемещая логику привязки данных из шаблона. В качестве бонуса шаблон получает больше возможностей для повторного использования. С другой стороны, привязка между логикой и кодом требует также некоторого кода. В конце концов, количество кода не сильно изменилось, но читаемость резко увеличилась.

Для предпринимательского бизнеса я бы рекомендовал Snippetory.

1

Прежде, чем я начал писать свои шаблоны электронной почты, я подумал, что попрошу моего gFriend, и я наткнулся на идею использования JSP-механизма для шаблонов (если вы находитесь в среде сервлетов).Я нашел идею оригинальной и идеально подходит для моих потребностей, так как я нахожусь под GAE и добавление баночку GAE является очень дорогостоящим решением (влияние на производительность)

И как я пришел к этой ссылке (оригинальная идея) https://stackoverflow.com/a/458088/2033675

Поэтому я ставлю ссылку на то, как сделать это Suggestions for Java email templating?

, естественно, в случае, если кто будет иметь те же сдерживает, как и я.

Лучшие

2

Я автор Pebble шаблонизатор, который я думаю, что это именно то, что вы ищете.

Смежные вопросы