我正在研究需要通过Amazon SNS发送SMS的Java服务。
我正在使用Velocity模板来生成个性化电子邮件,并考虑也将其用于SMS。
但是我认为这不是正确的方法,因为用于发送SMS的AWS开发工具包方法将消息视为字符串。这将迫使我生成一个文件,然后读取它以将内容作为字符串获取。
我能想到的唯一替代方法是在数据库中将模板存储为TINYTEXT(SMS大小限制为140字节),并使用String.replaceAll()
代替速度。
但是我想知道是否有更好的方法来做到这一点,或者使用速度会严重损害性能。
答案 0 :(得分:2)
使用上下文将输入字符串渲染到输出编写器中。在动态构建模板或要使用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();