// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。

[[Jakarta Velocity>http://jakarta.apache.org/velocity/]] は汎用のテンプレートエンジンです。あらかじめテンプレートファイルを用意しておきそれに変数を仕込んでおいて、プログラムから変数部分のデータを渡してあげることで動的に画面や帳票を作成します。

***ダウンロード・インストール [#fc5b64fe]
インストールは [[Jakarta Velocity>http://jakarta.apache.org/velocity/]] よりモジュールをダウンロードし、必要なクラスパスにパスを通すだけです。2006/12/27現在
-velocity-1.4.tar.gz

が直近版みたいです。

***使ってみる [#e099bc30]
やってみます。モデルはUser,Customerという[[Hibernate/マッピング定義について>Hibernate/マッピング定義について#j4e88693]]で書いたモデルを使用します。Customerは顧客への参照を持ちます。

-Main.java
 package nu.mine.kino.velocity;
 
 import java.io.StringWriter;
 
 import nu.mine.kino.entity.Customer;
 import nu.mine.kino.entity.User;
 
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.Velocity;
 import org.apache.velocity.exception.ParseErrorException;
 import org.apache.velocity.exception.ResourceNotFoundException;
 
 public class Main {
   public static void main(String args[]) {
     User user = new User();
     user.setName("ユーザ1");
     user.setAddress("東京都江東区");
     Customer c = new Customer();
     c.setName("顧客1");
     c.setUser(user);
     //モデルデータの作成完了
 
     try {
       Velocity.init();// 初期化
       VelocityContext context = new VelocityContext();
       context.put("user", user);// オブジェクトをセットできるのがおもしろい。
       context.put("customer", c);
       StringWriter out = new StringWriter();
       Template template = Velocity.getTemplate("main.vm", "MS932");
       template.merge(context, out);
       System.out.println(out.toString());
       out.flush();
     } catch (ResourceNotFoundException e) {
       // TODO 自動生成された catch ブロック
       e.printStackTrace();
     } catch (ParseErrorException e) {
       // TODO 自動生成された catch ブロック
       e.printStackTrace();
     } catch (Exception e) {
       // TODO 自動生成された catch ブロック
       e.printStackTrace();
     }
   }
 }

----
この記事は
#vote(おもしろかった,そうでもない)
-時間なし!きょうはここまで。。 -- [[きの]] &new{2006-12-28 02:11:27 (木)};

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS