跨多个WAR文件的java Web模板

时间:2010-05-21 20:07:08

标签: java jsp

我有一个设计糟糕的多WAR Web应用程序。有一个WAR负责处理对数据库的某些授权,并使用jsp标记库定义标准网页。主WAR基本上检查用户的权限,而不是基于此权限,显示指向其他部署的WARS的上下文路径的链接。其他每个部署的WAR都包含此自定义标记lib。

我正在重新设计这个应用程序,我想要保留的一件好事是我们有其他项目团队开发了这些WAR模块,这些模块“插入”我们当前的系统以利用我们的其他东西必须提供。

我不完全确定如何处理页面模板。我需要一个模板系统,它很容易在多个战争中使用(我在考虑jsp片段?)。我真的只需要定义一致的标题和主导航部分。页面上显示的其他内容取决于单个Web项目。

有什么建议吗?

我希望这很清楚,如果不是,我可以详细说明。

1 个答案:

答案 0 :(得分:3)

过去使用Sitemesh

做了类似的事情

我们定义了一个名为skins-app的新网络应用程序,它只有所有其他需要的公共页眉,页脚,导航栏。 Sitemesh通过skins-app

中名为WEB-INF / decorators.xml的文件进行配置

然后在任何消费的webapp中,你也添加一个WEB-INF / decorators.xml。

并指出您的网页是由其他应用的皮肤“装饰”

<decorator name="main" page="/decorators/layout.jsp" webapp="skins-app">  
<pattern>/*</pattern> 
</decorator>

如果需要从“装饰”中排除任何页面,您可以在您的消费网络应用中包含详细的包含/排除。请查看Sitemesh链接页面上的Visual Example。