« 1つのコマンドを複数行で記述 | Main | 複数のコマンドを1行で実行 »

2007.02.18

Java6でVelocity

 Java6ではScriptエンジンでVelocityを使用できるんですね。
 使用する場合、https://scripting.dev.java.net/からjsr223-engines.zipをダウンロードし、その中に含まれているvelocity-engine.jarにクラスパスを通す必要があります。また、内部でVelocityEngine等の初期化を行っているので、Velocity本体のjarファイルにもクラスパスを通しておく必要があります。

 で、

ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine engine = m.getEngineByName("velocity");
engine.put("value1", "Hoge");
engine.put("value2", "ほげ");
StringWriter writer = new StringWriter();
engine.getContext().setWriter(writer);
// エンジンに対して,スクリプト(テンプレート)を指定して実行する
engine.eval("文字列テンプレート\n$value1\n$value2");
System.out.println(writer);

ってな感じで実行すればOK。

 engine.eval(java.io.Reader)を使用すれば、任意の入力(あるいはストリーム)を用いてテンプレートを読み込ませることができます。

 ん~~あえて、ScriptEngineを用いてVelocityを使用するメリットはあるんだろうか・・・(^^;

|

« 1つのコマンドを複数行で記述 | Main | 複数のコマンドを1行で実行 »

Java」カテゴリの記事

プログラム」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Java6でVelocity:

« 1つのコマンドを複数行で記述 | Main | 複数のコマンドを1行で実行 »