【问题标题】:Redirect parent page from a ifram in JSP by JAVA通过 JAVA 从 JSP 中的 iframe 重定向父页面
【发布时间】:2012-04-17 04:38:59
【问题描述】:

可以在here 找到同样的问题。并发现了一些相同的问题。
它们大约是javascript(答案:-window.top.location.href = "http://www.site.com";)
但是
我想知道如何在 jsp 页面中通过 Java 重定向它。通常的重定向可以做为..

response.sendRedirect("newUrl.jsp");  

但它重定向 iframe 内的源页面而不是父页面。任务是刷新 iframe 的源文件并做一些事情(检查会话..获取属性。)如果源页面遇到特定的逻辑阶段,则父页面可能会重定向到另一个页面。但不在javascript,我想在 JAVA 中了解它(这意味着 jsp/servlet 容器决定并重定向到服务器中的另一个页面)。
我目前的观点是,这些事情可能会用 javascript 来处理。非常感谢您提供的所有信息。

【问题讨论】:

  • “观察”iframe 变化的唯一方法是使用 javascript。没有办法纯粹用任何服务器端语言来做到这一点。

标签: java javascript jsp servlets


【解决方案1】:

不是发送 301 或 302 重定向,而是发送一个 JSP 页面(或写入响应的输出流),其中包含设置为在加载时执行的 javascript 重定向的 html 内容。这样你就可以在 Java 方面进行检查,并在适当的时候发送 javascript 重定向,否则发送常规内容。

【讨论】:

  • 感谢 digitaljoel。你的想法很好。但是(我理解你的意思..)如果发送了一个 jsp 页面,它会再次加载到 iframe 本身中,并且不会重定向父页面。另外,发送 html 元素和 javascripts 也很好。但我想在服务器端(通过容器)重定向。再次感谢您的想法
  • 我刚试了一下,效果很好,重定向了父窗口。如果您只在您的 java 代码通常想要调用 response.sendRedirect 时发送带有 javascript 重定向的 html 内容,那么它与调用 response.sendRedirect 应该没有什么不同。显然,如果禁用 javascript,您会遇到问题,但我认为您没有很多其他选择。
【解决方案2】:

我有这样的场景:

我们在 WebLogic 上部署了一个应用程序,在 tomcat 上部署了一个应用程序。 我们已嵌入 tomcat 应用程序以在 WebLogic 应用程序中运行。 我们希望在作为父应用程序的 WebLogic 应用程序 URL 上重定向页面的地方。为此,如果您使用: response.sendRedirect("newUrl.jsp") 它将重定向到内部应用程序 URL(tomcat)。

为了解决这个问题,我使用 JavaScript 进行重定向

<%
boolean isRedirect = true // check if redirection required, I have made it true for testing
String redirectHomepage = "home.jsp";
if(isRedirect){
%> 
    <script type="text/javascript">
        window.parent.location.href = "<%=redirectHomepage%>"
    </script>
<%
    return;
}
%>

【讨论】:

    猜你喜欢
    • 2011-01-06
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多