ルイス・リコ:
私は、Amazon SNSを通じてSMSを送信する必要があるJavaサービスに取り組んでいます。
私はパーソナライズされた電子メールを生成するために、Velocityテンプレートを使用して、同様にSMSのためにそれを使用する方法について考えています。
しかし、私は、SMSを送信するためのAWS SDKメソッドは文字列としてメッセージがかかるので、それが正しいアプローチだとは思いません。これは、ファイルを生成し、文字列として内容を取得するためにそれを読むために私を強制します。
私が考えることができる唯一の選択肢は、データベース内の(SMSサイズ制限は140バイトである)TINYTEXTとしてテンプレートを保存し、使用されているString.replaceAll()
速度の代わりに。
しかし、私はそれを行うためか、速度を使用すると、そのくらいのパフォーマンスを傷つけるならばもっと良い方法があるかどうかを知りたいと思いました。
user7294900:
あなたは、まで、ファイルを生成せずに速度を使用することができますVelocityEngine.evaluate
出力ライターにコンテキストを使用して入力文字列をレンダリングします。テンプレートを動的に構築、またはトークン代用としての速度を使用したい時に使用されます。
例:
VelocityContext context = new VelocityContext(); context.put("param", paramMap); context.put("placeList", placeList); StringWriter writer = new StringWriter(); ve.evaluate(context, writer, "", template); return writer.toString();