Как да използвате velocity за SMS шаблони

Работя върху услуга на Java, която трябва да изпраща SMS през Amazon SNS.

Използвам Velocity шаблони за генериране на персонализирани имейли и мислех да го използвам и за SMS.

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

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

Но исках да знам дали има по-добър начин да го направя или ако използването на скоростта би навредило толкова много на производителността.


person Luis Rico    schedule 03.07.2019    source източник
comment
Можете да използвате velocity, без да генерирате файл   -  person user7294900    schedule 03.07.2019
comment
Прав си, аз съм нов в velocity шаблоните и мислех, че файлът е генериран от velocity. Сега единственият въпрос би бил дали е по-добре да съхранявате .vm файлове или просто низ в базата данни   -  person Luis Rico    schedule 03.07.2019


Отговори (1)


Можете да използвате velocity, без да генерирате файл, докато 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