概要
Velocityというテンプレートエンジンを使用して、ファイルを作成する方法について説明します。内容
以下の手順でテンプレートエンジンからファイルを作成することができます。1.テンプレートエンジンを初期化する
2.テンプレートに渡すパラメータを設定する
3.テンプレートのマージ結果をStringWriterに設定する
以下サンプルコードです。
private File createGroovyScript(FormulaDTO dto) throws Exception {
File file = File.createTempFile("priceCalc", ".groovy", new File("."));
// Velocityテンプレートエンジンを初期化する
Velocity.init();
// テンプレートに渡すパラメータを設定する
VelocityContext context = new VelocityContext();
context.put("formula", dto);
// テンプレートのマージ結果をStringWriterに設定する
StringWriter sw = new StringWriter();
Template template = Velocity.getTemplate("/template/template_groovy.vm", "UTF-8");
template.merge(context,sw);
// 結果を一時ファイルに設定する
FileWriter writer = new FileWriter(file);
writer.write(sw.toString());
writer.close();
return file;
}
template_groovy.vm
import jp.co.technos.common.dto.FormulaDTO;
def calculate(FormulaDTO data) {
data.setResult(${formula.formula})
}
FormulaDTO data = (FormulaDTO) formula
calculate(data)
0 件のコメント:
コメントを投稿