我正在使用 Spring(使用 ROO 搭建脚手架)和 Velocity 为模板引擎构建 Web 应用程序。
这些应用程序的流程非常相似,大部分时间逻辑不会发生太大变化,因此我可以在多个 Web 应用程序中使用相同的控制器。需要定制的是UI端。
我想建立一个灵活的系统,允许:
- 在开发的同时在本地工作
- 将模板打包到 webapp 之外
- 在不重新部署 webapp 的情况下更改一些模板。
到目前为止,我已经构建了一些使用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 中,这不是我想要的......
有任何想法吗 ?