Spring (ROO でスキャフォールディング) とテンプレート エンジンの Velocity を使用して Web アプリケーションを構築しています。
これらのアプリケーションはフローが非常に似ており、ほとんどの場合、ロジックはあまり変わらないため、複数の Web アプリケーションで同じコントローラーを使用できます。カスタマイズが必要なのは UI 側です。
次のことを可能にする柔軟なシステムを構築したい:
- 開発中にローカルで作業するには
- Web アプリケーションの外部でテンプレートをパッケージ化するには
- Web アプリケーションを再デプロイせずに一部のテンプレートを変更するには。
これまでのところ、WebappResourceLoaderとURLResourceLoaderを使用するものを構築しました。
resource.loader=url,webapp
webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader
webapp.resource.loader.path=/WEB-INF/views/
webapp.resource.loader.cache=true
webapp.resource.loader.modificationCheckInterval=1
url.resource.loader.class=org.apache.velocity.runtime.resource.loader.URLResourceLoader
url.resource.loader.root=http://localhost/templates/
url.resource.loader.cache=false
基本的に、「デフォルト」テンプレートは webapp 内にあり、URL でアクセス可能な場所 (現在は Apache の単純なフォルダー) にあるテンプレートによってオーバーライドできます。
最終的に、各「スキン」のテンプレートは個別の WAR にパッケージ化する必要があります。
今、このアーキテクチャでローカルで作業する方法がわかりません...
ほとんどの場合、テンプレート コードのカスタマイズに取り組んでいるので、テンプレートのみを含む WAR プロジェクトを作成し、Maven の WAR Overlay を使用してそれらを実現できると思います。
しかし、この場合、テンプレートはWAR内にあり、これは私が望むものではありません...
何か案は ?