我正在開發(fā)一項(xiàng)需要通過(guò) Amazon SNS 發(fā)送 SMS 的 Java 服務(wù)。我正在使用 Velocity 模板生成個(gè)性化電子郵件,并考慮將其用于 SMS。但我認(rèn)為這不是正確的方法,因?yàn)橛糜诎l(fā)送 SMS 的 AWS SDK 方法將消息作為字符串。這將迫使我生成一個(gè)文件,然后讀取它以獲取字符串形式的內(nèi)容。我能想到的唯一替代方法是將模板作為 TINYTEXT(SMS 大小限制為 140 字節(jié))存儲(chǔ)在數(shù)據(jù)庫(kù)中,并使用而String.replaceAll()不是 velocity。但我想知道是否有更好的方法來(lái)做到這一點(diǎn),或者使用速度是否會(huì)嚴(yán)重?fù)p害性能。
1 回答

慕碼人2483693
TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
在VelocityEngine.evaluate之前,您可以在不生成文件的情況下使用速度
使用上下文將輸入字符串渲染到輸出編寫器中。當(dāng)模板是動(dòng)態(tài)構(gòu)建的,或者想使用 Velocity 作為令牌替換器時(shí)使用。
示例:
VelocityContext context = new VelocityContext(); context.put("param", paramMap); context.put("placeList", placeList); StringWriter writer = new StringWriter(); ve.evaluate(context, writer, "", template); return writer.toString();
添加回答
舉報(bào)
0/150
提交
取消