制約やその他の特定の要件があるかどうかはわかりませんが、ない場合は Velocity API を使用してみましたか? このようなもの:
Context context = new VelocityContext();
Template template = Velocity.getTemplate("src/main/resources/defaults.vm");
template.merge(context, NullWriter.NULL_WRITER);
StringWriter writer = new StringWriter();
Template toBeParsedTemplate = Velocity.getTemplate("src/main/resources/test1.vm");
toBeParsedTemplate.merge(context, writer);
String renderedContent = writer.getBuffer().toString();
System.out.println(renderedContent);
Context
から生成された変数をオブジェクトに入力しdefaults.vm
、同じコンテキストを使用して を評価するという考え方ですtest1.vm
。
Velocity 1.7 を使用してこれを試してみましたが、commons-io 2.4 (の場合NullWriter
) は正常に動作しているようですが、これが要件に適合するかどうか、または他の代替手段 (Velocity API を使用しない) を調べているかどうかはわかりません。 .
Context
オブジェクトの詳細はこちら:
http://velocity.apache.org/engine/devel/developer-guide.html#The_Context
それが役立つことを願っています。