1

Spring (ROO でスキャフォールディング) とテンプレート エンジンの Velocity を使用して Web アプリケーションを構築しています。

これらのアプリケーションはフローが非常に似ており、ほとんどの場合、ロジックはあまり変わらないため、複数の Web アプリケーションで同じコントローラーを使用できます。カスタマイズが必要なのは UI 側です。

次のことを可能にする柔軟なシステムを構築したい:

  1. 開発中にローカルで作業するには
  2. Web アプリケーションの外部でテンプレートをパッケージ化するには
  3. Web アプリケーションを再デプロイせずに一部のテンプレートを変更するには。

これまでのところ、WebappResourceLoaderURLResourceLoaderを使用するものを構築しました。

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内にあり、これは私が望むものではありません...

何か案は ?

4

0 に答える 0