在EAR的多次战争中共享共同的jsp

时间:2010-09-26 06:24:04

标签: java jsp web-applications ear

我们有一个有13个模块的大型应用程序。根据客户要求,我们应该能够部署核心模块+客户特定模块。我们计划将应用程序分成多个战争。现在的问题是我们有一些常见的jsp,比如header.jsp,error.jsp等。有没有什么方法可以让我们在核心战争中保持常见的jsp,其余的战争将能够使用它或者我必须复制这些jsp在构建过程中的invidiual战争中。我知道CSS和Javascript文件可以在耳塞包装的多个战争中共享,但不确定jsp的。

1 个答案:

答案 0 :(得分:4)

好问题。您会很高兴听到答案是“是”,尽管它高度依赖于您的servlet容器的配置方式。

使用JSTL <c:import>标记完成,该标记具有可选的context属性,定义为:

  

上下文的名称   (从/开头)   其他本地Web应用程序   从中导入资源。

所以说你在上下文根/A下部署了webapp A,在/B下部署了webapp B,然后A中的JSP可以包含来自B的x.jsp

<c:import context="/B" url="x.jsp"/>

这一切都非常好用,但这必须通过servlet容器的安全机制,并且可能不允许操作。例如,in Tomcat the crossContext attribute must be set to true