我正在開發一項需要通過 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
提交
取消