首页 > 解决方案 > 如何为 SMS 模板使用速度

问题描述

我正在开发需要通过 Amazon SNS 发送 SMS 的 Java 服务。

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

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

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

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

标签: javasmsvelocityamazon-snstemplate-engine

解决方案


您可以使用速度而不生成文件,直到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();

推荐阅读