我正在开发一项需要通过 Amazon SNS 发送 SMS 的 Java 服务。我正在使用 Velocity 模板生成个性化电子邮件,并考虑将其用于 SMS。但我认为这不是正确的方法,因为用于发送 SMS 的 AWS SDK 方法将消息作为字符串。这将迫使我生成一个文件,然后读取它以获取字符串形式的内容。我能想到的唯一替代方法是将模板作为 TINYTEXT(SMS 大小限制为 140 字节)存储在数据库中,并使用而String.replaceAll()不是 velocity。但我想知道是否有更好的方法来做到这一点,或者使用速度是否会严重损害性能。
1 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
在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();
添加回答
举报
0/150
提交
取消