如何将在jsp中检索到的服务器响应映射到iFrame

时间:2014-05-05 02:59:13

标签: java javascript jsp iframe response

我正在为我的webapp使用struts2框架(java / js / html / css combo)。我正在从服务器上读取一个文本文件,我想将响应写入同一个jsp中的iFrame。

流速: (1)点击链接,我将文本文件的相对URL传递给jsp。 (2)当jsp页面加载时,jsp中的java代码从服务器读取文件。 (3)现在必须将此响应写入同一jsp文件中的iFrame

任何人都可以帮我写一篇关于iFrame的回复吗? 在此先感谢:)

2 个答案:

答案 0 :(得分:1)

[未经过测试的代码,只是概念的演示]

这里有一些关于如何修复代码的非常粗略的想法,它们绝对不是最好的,但它们应该足以帮助您理解这个概念。 不过,我仍然建议重新审视整个概念,并提出一种更有效的方法来做你需要的事情。

如果您坚持使用iframe,则需要使用2个单独的jsp,因为W3C在" Implementing HTML Frames"中说:

  

任何试图将其任何祖先使用的URL作为其SRC分配的帧都被视为根本没有SRC URL(基本上是空白帧)。

因此你需要2个jsp,第一个基本上就是你所拥有的,但是iframe的src改为:

<iframe scrolling="yes" width="80%" height="200" src="second.jsp?content=<%=all%>" name="imgbox" id="imgbox">

,第二个将是:

<html><body><%= request.getAttribute("content") %></body></html>

根据您显示的代码,您强制进行内容更新&#34;使用javascript在iframe上。更新iframe的正确/通常方法是为第二个jsp提供不同的输入参数,并让它为您更新。

最后,我建议尽可能使用JSTL而不是scriptlet。它更清洁。

答案 1 :(得分:0)

您需要做的是在点击链接时将src的{​​{1}}属性设置为jsp网址。另一种方法是做这样的事情:

IFRAME

使用正确的参数