我正在为我的 web 应用程序使用 struts2 框架(java/js/html/css 组合)。我正在从服务器读取文本文件,并且想将响应写入同一 jsp 中存在的 iFrame。
流程: (1) 单击链接时,我将文本文件的相对 URL 传递给 jsp。 (2) 当jsp页面加载时,jsp中的java代码从服务器读取文件。 (3) 现在必须将此响应写入同一 jsp 文件中的 iFrame
有人可以帮我写这样的 iFrame 响应吗? 预先感谢:)
最佳答案
[代码未经测试,仅演示概念]
这里有一些关于如何修复代码的非常粗略的想法,它们绝对不是最好的,但它们应该足以帮助您理解这个概念。 不过,我仍然建议仔细研究整个概念,也许会想出一种更有效的方法来完成您需要的事情。
如果您坚持使用 iframe,则需要使用 2 个单独的 jsp,如 W3C 在“Implementing HTML Frames”中所述:
Any frame that attempts to assign as its SRC a URL used by any of its ancestors is treated as if it has no SRC URL at all (basically a blank frame).
所以你需要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>
根据您显示的代码,您使用 JavaScript 在 iframe 上强制进行了“内容更新”。更新 iframe 的正确/常用方法是向第二个 jsp 提供不同的输入参数,并让它为您更新。
最后,我建议尽可能使用 JSTL 而不是 scriptlet。干净多了。
关于java - 如何将 jsp 中检索到的服务器响应映射到 iFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23464101/