如何在GWT中的同一页面的两个实例之间进行通信

时间:2011-04-14 22:23:42

标签: java gwt youtube-api

我的GWT应用程序需要使用此处所述的基于浏览器的上传来上传到YouTube http://code.google.com/apis/youtube/2.0/developers_guide_java.html#Browser_based_Upload 我需要YouTube重定向到我上传完成后上传视频的同一页面,因此我可以通知用户上传已完成。

出于这个原因,我正在设置这样的表单操作(ytPost用于存储从YouTube收到的令牌和PostUrl)。

form.setAction(ytPost.getPostUrl()+“?nexturl =”+ Window.Location.getHref()。toString());

从我在Eclipse中看到的,这发生在一个名为-Daemon Thread的线程中[来自Mozilla / 5.0的fyiapp的代码服务器(Windows; U; Windows NT 6.0; en-US; rv:1.9.2.16)Gecko / 20110319 Firefox {3.6.16(.NET CLR 3.5.30729; .NET4.0C)在http://127.0.0.1:8888/FyiApp.html?gwt.codesvr=127.0.0.1:9997#tab=plan&item=69 @ _brp1HJ [BO $ Y~rSZ](正在运行)

当YouTube重定向回我发起上传的同一页面时出现问题,但GWT实例化了一个名为 -

的新线程

守护程序线程[来自Mozilla / 5.0的fyiapp的代码服务器(Windows; U; Windows NT 6.0; en-US; rv:1.9.2.16)Gecko / 20110319 Firefox / 3.6.16(.NET CLR 3.5.30729; NET4.0C)http://127.0.0.1:8888/FyiApp.html?gwt.codesvr=127.0.0.1:9997#tab=plan&item=69 @ _brp1HJ [BO $ Y~rSZ](暂停(PostEditor第104行的断点))

因此,即使我在技术上处于我发起初始YouTube上传请求的“同一页面”代码(GWT客户端),此页面也没有我需要通知用户的任何状态YouTube上传完成。我可以发出Window.alert,或写入状态栏,但所有小部件都是全新的。

这两个线程从此时开始继续运行。

如果能够在启动上传的同一个线程上接收YouTube重定向,或者如果不可能,我应该如何处理?如何在同一浏览器页面的两个实例之间传递信息?

1 个答案:

答案 0 :(得分:1)

引入额外参数怎么样,finished = true | false,所以你的“setAction”看起来像:

form.setAction(ytPost.getPostUrl()+ "?nexturl=" +
  Window.Location.getHref().toString()+"&finished=true");

以便在上传完成后将参数“finished = true”传递给您的页面,并且可以对其做出反应。