java - 在 EAR 中的多个 war 中共享公共(public) jsp

标签 java jsp web-applications ear

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

最佳答案

好问题。您会很高兴听到答案是"is",尽管这在很大程度上取决于您的 servlet 容器的配置方式。

它是使用 JSTL 完成的 <c:import>标签,它有一个可选的 context属性定义为:

Name of the context (beginning with a /) of some other local web application to import the resource from.

假设您在上下文根下部署了 webapp A /A ,以及部署在 /B 下的 webapp B , 那么 A 中的 JSP 可以包含 x.jsp来自 B 使用:

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

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

关于java - 在 EAR 中的多个 war 中共享公共(public) jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3796815/

相关文章:

java - 从 Java 内部 throttle CPU

java - 统计java创建的对象个数

java - 如何计算字符串中2个字符的匹配次数?

jsp - JSP页面内textarea的占位符

java - 如何格式化从 Struts2 迭代器检索到的数字?

php - OOPHP : Classes for SQL Server and MySQL

java - 不在android中的可绘制 Canvas 中显示横幅广告

java - 需要使用 forEach 循环两次并具有唯一的 id

security - 这个CSRF对策有效吗?

php - 在 iframe PHP 中显示 pdf