【问题标题】:How to use velocity for SMS templates如何为 SMS 模板使用速度
【发布时间】:2019-11-13 21:37:13
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 你可以在不生成文件的情况下使用velocity
  • 你说得对,我是velocity模板的新手,我还以为文件是velocity生成的。现在唯一的问题是在数据库中存储 .vm 文件还是仅存储一个字符串更好

标签: java sms velocity amazon-sns template-engine


【解决方案1】:

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

使用上下文将输入字符串呈现到输出写入器中。当模板是动态构造的,或者想要使用 Velocity 作为令牌替换器时使用。

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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多