JSF以及从旧的JSP webapp中删除内容Iframe的方法

时间:2012-04-09 23:00:35

标签: templates jsf iframe

我正在开发一个旧的JSP webapp,它具有基本的3个表示区域:

顶部菜单/侧边菜单/内容

最初,这种布局使用了IFRAMES。其他人在从iframe到DIV方法的顶级菜单和侧边菜单之前已经更改,但不是内容IFRAME。

系统的每个页面都是一个单独的JSP页面,其中包含许多其他JSP(访问控制,会话时间等),JS,CSS等。

当我尝试使用DIV加载内容时,会发生很多问题,因为此选项会将内容插入到基本代码(主页)中,该代码具有您自己的CSS,JS,包含的JSP。

a4j:include,ui:include(带有facelets的模板),c:import是类似DIV的选项,混合代码。

我想要一个像IFRAME一样的选项,在主页的区域中插入一个独立且隔离的页面。如果没有这个,就需要许多努力工作(而且单调乏味)来使每个文件内容适应主页面。

不幸的是,我的老板不想留在IFRAME:)....

更新: BalusC,我很荣幸你回答了我的问题。我是第一次以开发人员的身份开始工作(总是个人的梦想,因为当我第一次接触基本的TK90X插入电视时我就是孩子),2个月前开始从事这项工作,有时候我可以在网络上看到你的评论,帮助很多人。

我是JSF / JSP的首选,但问题是如何删除IFRAME并使用另一种解决方案加载内容,对项目的影响最小,因为webapp有超过1k个JSP文件,有些人已经在使用JSF标签(项目慢慢更新以使用JSF)。我们使用的是JAVA 6,Tomcat 6和JSF 1.2。

使用a4j的一些问题:例如,包含的页面操作是主页面的一部分,并且:

1-每个页面都需要使用f:subview标签而不是f:view。已经迁移到JSF的所有这些都使用f:view(非常需要手动更改)。

2- with include,URL路径引用是主页面的路径,而不是包含文件的路径(IFRAME不存在此问题)。项目的每个页面都使用框架,使用包括JS,CSS,JSP,许多使用相对路径,如:“../../ javascript / jsfile.js”。

正如您所看到的,使用包含或导入(a4j,ui),将需要许多努力工作(超过1k文件更改。一个像Iframe一样的选项,包括内容区域的独立页面(webapp已制作)对我来说,这将对我有所帮助。我知道这不是正确的方法,但是使用模板或其他解决方案快速做出重大改变的webapp非常大。

请原谅我糟糕的英语和可能的基本问题,我不知道。

1 个答案:

答案 0 :(得分:2)

我使用HTML标签'object'解决了我的问题。与'iframe'一样,使用此标记“嵌入文档仍然独立于主文档。” (w3c.org)

此标记位于HTML Strict中。

链接到关于'对象'的w3c页面: http://www.w3.org/TR/html401/struct/objects.html

非常感谢。