скорость - какая архитектура для гибкости? - PullRequest
1 голос
/ 20 февраля 2012

Я создаю веб-приложения, используя Spring (scaffolded with ROO) и Velocity для шаблонизатора.

Эти приложения очень похожи по своему потоку, в большинстве случаев логика не сильно меняется, поэтому я могу использовать одни и те же контроллеры в нескольких веб-приложениях. Что требует настройки, так это сторона пользовательского интерфейса.

Я хочу построить гибкую систему, которая позволяет:

  1. Работать локально при разработке
  2. Для упаковки шаблонов вне веб-приложения
  3. Чтобы изменить некоторые шаблоны без повторного развертывания веб-приложения.

До сих пор я создал нечто, использующее 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

Таким образом, шаблоны «по умолчанию» находятся внутри веб-приложения и могут быть переопределены шаблонами, расположенными где-то, доступными по URL (прямо сейчас в простой папке в Apache).

В конце, шаблоны для каждого «скина» должны быть упакованы в отдельную WAR.

Теперь я не знаю, как можно локально работать с этой архитектурой ...

Большую часть времени я буду работать над настройкой кода шаблонов, поэтому я полагаю, что у меня мог бы быть проект WAR с только шаблонами, и я использовал наложение WAR Maven, чтобы воплотить их в жизнь.

Но в этом случае шаблоны находятся внутри WAR, а это не то, что я хочу ...

Есть идеи?

...