概要
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 件のコメント:
コメントを投稿