The Jakarta Project < Velocity Tools - Struts >

Velocity Tools

VelocityStruts

VelocityStruts Tools

その他のサブプロジェクト

概要
       

VelocityStruts サブプロジェクトは Velocity と Jakarta Struts Web アプリケーションフレームワークとを統合し、 ビューレイヤとして JSP の代わりに Velocity テンプレートを使用することを可能にします。

多様多種の Web アプリケーションフレームワーク が Velocity テンプレートをサポートしています。 このプロジェクトでは、 Struts 開発者に JSP の代わりとなる必要最小限のセットを提供します。

図 1. Struts アプリケーションのビューレイヤにおける、 JSP と Velocity の比較。

図1の典型的な Struts の処理フローでは、 Velocity が追加されることを除けば比較的小さな変更だということに気づくでしょう。 velocity-struts.jar はテンプレートファイルを処理するスタンドアロンの Velocity サーブレット(具体的には、 velocity-tools-x.x.jar という JARファイルです)、 Struts 固有のオブジェクト(例: メッセージリソース、フォームビーン、エラー、リンク) への透過的なアクセスを提供するいくつかのツールを使用します。 アクションマッピングファイルは制御を JSP の代わりに Velocity ベースのビューレイヤへ渡す ActionForward を含んでいます。

さらに、注目すべきは Velocity と JSP は排他的ではないということです。 何の問題も無しに、両方のテクノロジを同一アプリケーション内で使用することができます。 既存のアプリケーションに大きな変更を入れることなく、 開発者が Velocity を試すことが可能です。

一度 Velocity を試してみれば、きっと病みつきになると思いますよ!

利点
       

人々がビューレイヤに Velocity を選択するのにはさまざまな理由があります。 いくつか挙げますと:

  • Velocity はモデル/コントロールレイヤから、 ビューレイヤを明確に分離することを強制します。 これはアプリケーションの設計をクリーンにし、 ビューデザイナとバックエンドの開発者を明確に分離します。
  • Velocity テンプレート言語 (VTL) は構文が少なく、シンプルで簡単に覚えられます。 多くの人は一日で使えるようになったと言っています。
  • Velocity は public メソッドをもつただのクラスである ツール によって簡単に拡張することができます。 これは、 JSP のカスタムタグライブラリよりすっきりしており、 より簡単に作ることができます。
  • 新しく追加された TilesTool により、Velocity と JSP のタイルを同じページ/レイアウトに混在させることができます。 Tiles を使用している人にとっては、 この二つの技術間を徐々に移行することや統合することは驚くほど簡単です!
  • Velocity の 'マクロ' はビューデザイナのための強力なツールです。 これは再利用可能なマークアップの断片を定義するもので、 カスタムタグライブラリやその他のサーバサイドで利用するツールの開発の必要性を無くしてくれるものです。
  • Velocity テンプレートの適用範囲は HTML だけに限られるものではありません。 XML, SQL, ASCII, PostScript 等、 あらゆるテキストの出力の生成に使用することが可能です。
  • Velocity は Web デザイナが理解できる、 動的データへの簡単なアクセス方法を提供します。
  • Velocity はインタプリタであり、テンプレートのエラーは即座に発見・ デバッグすることができ、シンプルな開発サイクルを可能にします。
  • Velocity は処理速度向上のためにテンプレートをキャッシュしており、 そのパフォーマンスは JSP を上回ると言われています。
  • Velocity は活動的で助けになる、ユーザと開発者の コミュニティによって支えられています

成功話
       

Struts と Velocity を使用している人たちからのコメント:

"私たちはもうかなりのの間、 Struts/Velocity を使用しており、 それが相性の良い組み合わせであることを認識した。 Velocity の主な利点のうちの1つは、文法が信じられないほどに 簡単であるということだ。Velocity 初体験のデザイナに、 使い方を1時間以内で説明することだって可能だろう。"

"Velocity の利点の一つは、 プレゼンテーションレイヤとビジネスロジックの分離を強制することなんだよ。 これは、JSP にスクリプトレットを埋め込んで、 問題を解決してしまおうという欲求を断ち切ってくれる。 さらに、コードの可読性をより向上させ、 開発期間を短縮してくれるんだ。"

"Struts はしっかりしたフレームワークで、 Velocity はそれをさらによりよいものにしてくれる。"

"Velocity Tools は他のどんなプレゼンテーション技術と同様、 またはよりよく Struts と統合できると思えます。例外はありません。 実際、そのほとんどのツールは思いつくどんなフレームワークとも同様に統合できます。" --Ted Husted (Struts in Actionの著者)

ライセンス
       

このソフトウェアには Apache Software License が適用されます。


[訳注: この文書は Shinobu Kawai 木村 貴由 が翻訳しました。 日本語訳に対するコメントがあれば、report@jajakarta.orgに送って下さい。]
Copyright © 1999-2003, Apache Software Foundation