我想在我的jsp页面的div中包含一个外部网站(例如www.example.com)。我不想使用框架,因为它不可取。
我尝试在线搜索解决方案,但我发现的所有内容都包括内部网页(例如网页.jsp)......
我真的很感谢你的帮助。
答案 0 :(得分:7)
首先,如果涉及划分/包含本地内容(这是最常见的滥用框架),使用框架确实不可取。但如果涉及外部内容,则绝对可取。对于本地内容,您应该使用服务器端包含,例如<jsp:include>
。
关于具体问题,如果外部网站的HTML响应没有与您自己的JSP页面的HTML响应发生冲突(即它没有返回一个完整的<html>
文档,这将使您的最终HTML响应完全invalid因为重复/嵌套<html>
元素,但它返回一些与上下文无关的HTML片段,例如<span>blah</span>
),那么您可以使用JSTL <c:import>
对此。
<c:import url="http://external.com/some/fragment.html" />
但是如果它返回一个完整的<html>
文档和/或依赖于上下文,那么你真的必须使用<iframe>
或者在它们之间引入一个代理servlet。有关此类servlet的具体启动示例,请查看以下答案:Make HttpURLConnection load web pages with images。
答案 1 :(得分:1)
如果您只想在div
标记中添加外部网页,您将面临几个问题,仅举几例:
有不同的选项来处理这样的要求:
总结:没有简单的方法只在div
中提供外部页面。