記憶庫

自分用のメモです。

一番簡単なApache Velocityの使い方

テンプレートエンジン Apache Velocity の一番簡単な使用例。

まずは、↓のようなテンプレートを用意。
ファイル名は test01.tmpl とでもしておく。

私の名前は「${name}」です。

テンプレートをに文字を埋め込み、結果を取得するのがApache Velocityの仕事。
コーディングは以下の通り。

package knowledgefort.labo.lib.asf.velocity;

import java.io.FileInputStream;
import java.io.StringWriter;
import java.io.Writer;
import java.util.Properties;

import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;


class VelocityTest01 {
	
	public static void main(String[] args) throws Exception {
		
		// Apache Velocity を初期化する
		Properties _prop = new Properties();
		_prop.load(new FileInputStream(
				"./res/velocity/velocity.properties"));
		Velocity.init(_prop);
		
		// Velocityコンテキストを生成する
		VelocityContext _ctx = new VelocityContext();
		
		// コンテキストに値を設定する
		_ctx.put("name", "ほげ太郎");
		
		// ライターを生成する
		Writer _writer = new StringWriter();
		
		// テンプレートを取得する
		Template _tmpl = Velocity.getTemplate(
				"./res/velocity/tmpl/test01.tmpl", "UTF-8");
		
		// テンプレートとコンテキストをマージし、結果をライターに出力する
		_tmpl.merge(_ctx, _writer);
		
		// ライターの内容を表示する
		System.out.println(_writer.toString());
		
		// ライターをクローズする
		_writer.close();
				
		return;
	}
}


コンソールに以下の通りに出力されればOK。

私の名前は「ほげ太郎」です。