[英]Using GWT as a replacement for JSR-286 and Inter Portlet communication
[英]Is AJAX for inter portlet communication possible?
我知道您可以创建可以刷新其内容的portlet,而无需通过简单地使用JSR286 resourceURL标记和执行AJAX调用来刷新整个门户页面。
我的问题是,是否可以在Portlet A中进行AJAX调用,并以某种方式定位并动态更新Portlet B?
当您通过actionURL或事件进行portlet间通信时,我们的想法是避免谁门户页面刷新(重新呈现)。
您可以使用jQuery trigger()和bind()方法在Portlet之间进行通信。 使用这种方法,所有通信都将在客户端(浏览器)上进行,无需任何服务器交互。
侦听事件的portlet B应该执行以下操作:
$(document).bind("myevent", function(event, param) {
// do your work here
alert("message recieved with data " + param);
});
触发事件的portlet应执行以下操作:
$(document).trigger("myevent", "mydata");
如果Portlet B不需要执行服务器端逻辑,那么您可以简单地在客户端上使用pub / sub并让Portlet B监听Portlet A将发布的特定事件。
所以流程是:
以这种方式使用pub / sub将portlet相互分离。 如果Portlet A不存在,则Portlet B不会中断。 如果Portlet B不存在,则Portlet A不会中断。
如果Portlet C出现并且还能够获取MyData,这个portlet也可以开始发布“MyDataUpdated”事件,Portlet B也将开始获取这些事件。 它免费获得新的更新!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.