0

我有中等程度的 Java 编程经验和相当高级的其他语言 Web 应用程序编程经验。我目前正在学习一些 Java Web 框架(Spring MVC、Struts。)

在我工作的地方,我们有许多单独的 Java Web 应用程序,部署在不同的上下文中,并作为单独的战争。一些最古老的是 servlet,许多是 Struts 1,而新的将是 Spring 3。

大多数现有的应用程序都有不一致或没有品牌(图形/装饰),我正在研究的一件事是在我们可以在一个地方维护的多个站点上应用一致的页眉和页脚。理想情况下,它甚至不必与 Web 应用程序位于同一台服务器上。明确一点——无论我在哪里配置我的模板,我都希望能够配置http://some.other.server/template而不是 WEB-INF/template。

我想使用SiteMesh或具有相同“装饰”方法的东西,但我对其进行了研究,显然在 SiteMesh 2 中完成此操作的唯一方法是由分叉代码并对其进行自定义以允许导入远程模板的人完成. (我在 Sitemesh3 Google 组中找到了此信息。)

我刚开始设计这个解决方案,所以我想我们可以使用Velocity、Freemarker、Tiles之类的任何东西。但是,在我工作的地方,我们更新旧应用程序的速度很慢,并且在采用新技术方面很保守,所以我必须证明一个解决方案具有良好的社区支持,适用于 Struts 1 和 Spring 3 MVC,并且相当值得信赖和稳定。

4

1 回答 1

3

Velocity 有一个“资源加载器”的概念,即一个用于查找可以配置的模板文件的接口。已经有一个基于 URL 的资源的加载器。请参阅资源加载器的 Velocity 文档。它还具有对缓存的基本支持。

如果您需要一些更复杂的东西,那么提供您自己的资源加载器实现也应该相当容易,我为我的一个项目做到了这一点,并且效果很好。

于 2012-03-30T20:14:27.323 回答