Как использовать скорость для шаблонов SMS

Я работаю над сервисом Java, которому необходимо отправлять SMS через Amazon SNS.

Я использую шаблоны Velocity для создания персонализированных электронных писем и думал об использовании их и для SMS.

Но я не думаю, что это правильный подход, потому что метод AWS SDK для отправки SMS принимает сообщение в виде строки. Это заставит меня создать файл, а затем прочитать его, чтобы получить содержимое в виде строки.

Единственная альтернатива, о которой я могу думать, - это сохранить шаблон как TINYTEXT (ограничение размера SMS составляет 140 байт) в базе данных и использовать String.replaceAll() вместо скорости.

Но я хотел знать, есть ли лучший способ сделать это или использование скорости сильно повлияет на производительность.


person Luis Rico    schedule 03.07.2019    source источник
comment
Вы можете использовать скорость без создания файла   -  person user7294900    schedule 03.07.2019
comment
Вы правы, я новичок в шаблонах скорости, и я думал, что файл был сгенерирован скоростью. Теперь вопрос только в том, лучше ли хранить файлы .vm или просто строку в базе данных.   -  person Luis Rico    schedule 03.07.2019


Ответы (1)


Вы можете использовать скорость без создания файла до VelocityEngine.evaluate

визуализирует входную строку, используя контекст, в средство записи вывода. Используется, когда шаблон создается динамически или вы хотите использовать Velocity в качестве заменителя токена.

Пример:

VelocityContext context = new VelocityContext();
context.put("param", paramMap);
context.put("placeList", placeList);
StringWriter writer = new StringWriter();
ve.evaluate(context, writer, "", template);
return writer.toString();
person user7294900    schedule 03.07.2019