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

标签 java javascript jsp iframe response

我正在为我的 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/

相关文章:

javascript - 过滤 Javascript/Lodash 中的嵌套属性

java - web.xml 中 servlet 和 servlet-mapping 的说明

java - 文件读取后无法删除

java - 无法从一个 JSP 移动到另一个 JSP

java - Spring验证@NotNull不验证

javascript - AngularJS ngRoute 直接部分访问

java - 如何使用 Java SDK 访问受 IAM 角色保护的 S3 存储桶?

javascript - jQuery UI - 动态设置可调整大小元素的 minHeight

java - 解析 Android 中出现问题的查询

java - Java Classloader 能否重写系统类(仅它们的副本)的字节码?