我正在为我的webapp使用struts2框架(java / js / html / css combo)。我正在从服务器上读取一个文本文件,我想将响应写入同一个jsp中的iFrame。
流速: (1)点击链接,我将文本文件的相对URL传递给jsp。 (2)当jsp页面加载时,jsp中的java代码从服务器读取文件。 (3)现在必须将此响应写入同一jsp文件中的iFrame
任何人都可以帮我写一篇关于iFrame的回复吗? 在此先感谢:)
答案 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
使用正确的参数