gpt4 book ai didi

java - 通过 servlet 从一个 jsp 与另一个 jsp 进行通信

转载 作者:行者123 更新时间:2023-12-01 11:45:06 25 4
gpt4 key购买 nike

我有2个jsp页面。一个主页和一个表单页面。主页有一个网格(extjs 框架),当我单击一行时,它会打开我的表单 jsp 页面。我想要实现的是,提交表单后,我希望我的主页刷新其网格,以显示从表单提交的新数据。请注意,表单页面是一个新窗口。 它们共存在不同的浏览器窗口中(用户同时看到两者)。

我想到的一种方法是通过服务器发送事件。表单提交后,我从 form.jsp 向 servlet 发送一个 ajax 请求,它应该通过我的 main.jsp 监听的事件流进行响应,但它似乎不起作用。当我尝试创建 EventSource 对象时,出现错误:

EventSource's response has a MIME type ("text/javascript") that is not "text/event-stream". Aborting the connection.

错误似乎出现在我的文档类型声明中: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

我不太确定为什么会发生这种情况。任何有关这方面的帮助将不胜感激。

无论我尝试实现什么方法,是否有更好的方法?或者修复服务器发送事件方法?

最佳答案

您可以在提交表单时执行此操作window.opener.location.reload(true)。如果您想从服务器完全重新加载此页面,则为“true”。

如果您不想刷新整个页面,可以按照以下步骤操作。

  • 在主页上使用代码创建一个方法来刷新网格。 函数refreshGrid()
  • 使用打开器引用从打开的页面调用此方法。window.opener.refreshGrid()

希望这有帮助。

关于java - 通过 servlet 从一个 jsp 与另一个 jsp 进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com