« 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/13933859

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

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