Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование Velocity, для шаблонов e-mail 
V
    Опции темы
Vokunya
Дата 4.4.2011, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 7.12.2008
Где: Беларусь

Репутация: нет
Всего: 1



Есть у кого-нибудь опыт применения velocity сугубо для электронных писем?
Меня интересует только эта узкая функциональность, т.е. всевозможные настройки сервера, портов, списка получателей... и т.д. 
В общем, было бы неплохо увидеть пример  smile  
Ссылки на ресурсы принимаются smile

P.S. в принципе, если есть какой-нибудь движок по скромнее, заточенный сугубо под данный функционал, то тоже будет очень хорошо
PM MAIL ICQ   Вверх
Embedded
Дата 4.4.2011, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 22.2.2011
Где: Россия

Репутация: 1
Всего: 1



Vokunya
Что-то такое видел
http://www.springbyexample.org/examples/ve...l-template.html


Ну вообще есть еще конечно FreeMarker, по функционал чуть чуть слабее, но и немного быстрее.. Хотя честно сказать хрен редьки не слаще.
В принципе для этих целей Velocity часто пользуется... В вики так и написано: http://ru.wikipedia.org/wiki/Apache_Velocity

Это сообщение отредактировал(а) Embedded - 4.4.2011, 17:37
PM MAIL   Вверх
tux
Дата 4.4.2011, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Vokunya, Velocity - это не более чем генератор текста. Учитывая широту применения текстогенерации, специализированных движков для почты ожидать сложно, тем более что это достаточно просто. Еще пара примеров:
PM MAIL Skype GTalk Jabber YIM   Вверх
Vokunya
Дата 5.4.2011, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 7.12.2008
Где: Беларусь

Репутация: нет
Всего: 1



Код

Velocity - это не более чем генератор текста. Учитывая широту применения текстогенерации, специализированных движков для почты ожидать сложно

осознал и согласен  smile 

Возник первый вопрос:
vm-файл имеет такие строки
Код

$project.Code
$project.Name
$project.Manager

Т.е при подстановке будут вызваны геттеры для полей code, name, manager. Правильно? 
Но если какое-нибудь поле не инициализировано, то шаблон остается без изменения (т.е если, например, менеджер не указан, то в сгенерированном тексте будет такое 
Код

myCode
myName
$project.Manager
 
Как обойти такое поведение, кроме как вручную проверять все поля?  

Это сообщение отредактировал(а) Vokunya - 5.4.2011, 11:21
PM MAIL ICQ   Вверх
kkorsakoff
Дата 5.4.2011, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 6
Всего: 14



Можно воспользоваться конструкцией $display.alt($project.Manager,'default manager')

http://velocity.apache.org/tools/devel/jav...ava.lang.Object, java.lang.Object)
PM MAIL WWW ICQ   Вверх
Vokunya
Дата 5.4.2011, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 7.12.2008
Где: Беларусь

Репутация: нет
Всего: 1



Код

Можно воспользоваться конструкцией $display.alt($project.Manager,'default manager')

Я еще толком не разбирался, бегло просмотрел... это получается, что еще отдельно должно настраиваться VelocityTool, через xml например?
т.е просто написав приведенный пример в vm-ке, ничего не заработает? 
PM MAIL ICQ   Вверх
Embedded
Дата 5.4.2011, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 22.2.2011
Где: Россия

Репутация: 1
Всего: 1



Vokunya
а если так напишите 
Код

$!project.Manager

не получается?

Дело в том что если переменной нет в контексте или ей присвоен null то Velocity будет печатать её имя, но поскольку Velocity зрелый движок, разработчики предусмотрели подавление такого поведения с помощью символа ! перед именем переменной. Тогда Velocity будет игнорировать ссылку на ошибочную переменную.

Это сообщение отредактировал(а) Embedded - 5.4.2011, 15:17
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1293 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.