如何使用 SMS 模板的速度

How to use velocity for SMS templates

我正在开发一项需要通过 Amazon SNS 发送短信的 Java 服务。

我正在使用 Velocity 模板生成个性化电子邮件,并考虑将其用于 SMS。

但我认为这不是正确的方法,因为用于发送 SMS 的 AWS SDK 方法将消息作为字符串。这将迫使我生成一个文件,然后读取它以获取字符串形式的内容。

我能想到的唯一选择是在数据库中将模板存储为 TINYTEXT(SMS 大小限制为 140 字节),并使用 String.replaceAll() 而不是 velocity。

但我想知道是否有更好的方法,或者使用速度是否会严重损害性能。

VelocityEngine.evaluate

之前,您可以在不生成文件的情况下使用 velocity

renders the input string using the context into the output writer. To be used when a template is dynamically constructed, or want to use Velocity as a token replacer.

Example:

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