S2Velocity

プロジェクト文書

Built by Maven

S2Velocityとは

簡単に言ってしまうと、Velocity Toolsのツールボックスのインスタンス管理をVelocity ToolsではなくS2Containerに任せるためのライブラリです。

Webアプリケーションで、Velocityをビュー層のテンプレートエンジンとして用いるとき、ビューヘルパー(ViewHelper)パターンを使うのが一般的です。 Velocity Tools プロジェクトで提供されるStrutsLinkToolやDateToolなどは大変便利ですが、これらビューヘルパー(ツール)を自作する場合に、 ビューヘルパーのインスタンス管理がVelocity側に握られていて問題になることがあります。

たとえば、ツールボックスに何かをinjectionしたい場合や、Service層を呼び出したい場合などに、 自分でgetComponent()するなどする必要があるのです。こうなると、そのソースコードはS2Containerに依存してしまうため テスタビリティや保守性、再利用性が下がってしまいます。

そこで、S2Velocityです。ツールボックスでも、S2Containerの提供する柔軟なコンポーネント定義、アプリケーション全体で一貫したインスタンス管理を実現できます。

2つの利用形態

S2Velocityでは2種類のツールボックス定義方法をサポートしています。

  • Velocity Tools互換のXML形式による定義方法
  • ツールボックスをすべてS2Containerのネームスペースを使って管理する定義方法

詳細は使い方 をご覧ください。

準拠しているバージョン

  • Velocity(Core) 1.5
  • Velocity-tools 1.3
  • S2Container は 2.3.23 および 2.4.25 での動作を確認
  • J2SE 1.5以降