是否可以在 EAR 之间共享 JSP,类似于我们可以使用 .jar 文件在 EAR 之间共享 Java 文件的方式?
我在 JBoss 上有一个带有许多不同 EAR 的大型 J2EE 应用程序,它们都应该具有相同的页眉、页脚等……我宁愿不要在需要进行更改时多次复制和粘贴这些文件。
标记文件可以打包在 jar 中。
它们是带有“.tag”扩展名的 JSP 文件。它们可以参数化。
使用站点网格。无需更改现有应用程序中的任何内容。与 sitemesh 打一场新的战争。它可以动态地装饰来自多个 url 的内容。
http://raibledesigns.com/rd/entry/use_sitemesh_to_decorate_multiple
--Kiran.kumar
我从未尝试过,但从逻辑上讲,您可以通过将所有 JSP 放入一个公用文件夹来很好地做到这一点
我认为它是访问与您所在的不同的 servlet 上下文。像
Enterprise.ear
WAR1 /somewhere
WAR2 /somewhereElse
WAR3 /shared
假设 WAR1 中的 JSP 绑定到 /somewhere:
使用 c:import 标记(标准 JSTL 标记)的可选 'context' 属性引用共享上下文。默认情况下,c:import 使用它所在的上下文,在 war1 中是 /somewhwere。
<c:import url="/header.jsp" context="/shared"/>
可能还有其他方法......也许只是忽略你的耳朵,只是去一个完整的 http 请求:
<c:import url="http://www.somewhere.com/header.jsp"/>
我不确定 c:import 标签上 context 属性的语法。但我相信这是正确的语法(没有斜线诗句,可能没关系)。