在EAR之间共享JSP
问题描述:
是否可以在EAR之间共享JSP,类似于我们可以通过使用.jar文件在EAR之间共享Java文件的方式?在EAR之间共享JSP
我在JBoss上有一个很大的J2EE应用程序,它有很多不同的EAR,它们都应该有相同的页眉,页脚等等......我宁愿在需要更改时复制和粘贴这些文件十几次制作。
答
我从来没有尝试过,但是从逻辑上说,你可以把你所有的JSP到一个公共文件夹
答
我认为它是从一个你是他,像这样
访问不同的servlet上下文很好的做到这一点Enterprise.ear
WAR1 /somewhere
WAR2 /somewhereElse
WAR3 /shared
在WAR1假设JSP势必/某处:
参考与C的可选的 '语境' 属性的共享上下文:import标记(标准JSTL标记)。默认情况下,c:import使用它所在的上下文,在war1中是/ somewhwere。
<c:import url="/header.jsp" context="/shared"/>
可能有其他的方式......也许只是忽略你的耳朵,只是一个完整的HTTP请求去:
<c:import url="http://www.somewhere.com/header.jsp"/>
我不是上下文属性在语法某些c:导入标签。但我相信这是正确的语法(没有斜杠的话,它可能无关紧要)。
答
使用sitemesh。 没有必要改变现有应用程序中的任何东西。用sitemesh创建一场新的战争。它可以动态地修饰来自多个URL的内容。
http://raibledesigns.com/rd/entry/use_sitemesh_to_decorate_multiple
--Kiran.kumar
答
标记文件可以被打包在一个罐子里。
它们是扩展名为“.tag”的JSP文件。他们可以参数化。
这可以通过使用速度templace引擎,通过从远程url加载模板来实现(速度支持开箱即用) - maby这点你熟悉jsp的一些东西 – jlmfao 2011-01-27 22:30:05
@inquisitor不幸的是有成千上万的JSP,所以移植以不同的技术是不可行的。 – 2011-01-27 22:54:54