Как использовать скорость для шаблонов SMS - PullRequest
2 голосов
/ 03 июля 2019

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

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

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

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

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

1 Ответ

2 голосов
/ 03 июля 2019

Вы можете использовать скорость без создания файла, пока 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();
...