Liferay - portlet之间的客户端通信

时间:2014-09-22 19:44:00

标签: liferay client-side portlet

我有一个eclipse中的portlet项目列表,比如说20(新的可能会在将来或未来)。

我想做的是:

  • 创建一个新的portlet,它将监听所有按钮交互 所有这20个左右的portlet
  • 使用我的这个portlet显示结果(成功或失败) 刚刚创建。

我试过调查IPC,但他们都有一个例子,其中一个portlet正在触发一个事件并且不止一个正在侦听但是我想做一些反之亦然。

我们怎样才能做到这一点?有什么建议吗?

1 个答案:

答案 0 :(得分:4)

您正在寻找客户端IPC。所以你需要做的是,你可以用

绑定多个事件
Liferay.fire(eventName, data)
Liferay.on(eventName, function, [scope])

发件人portlet将触发​​Fire事件,您可以从多个Portlet中获取多个触发事件。 要监听这些事件,您需要拥有liferay.on,无论是在单个portlet中还是在多个portlet中。 您可以使用以下格式和示例代码

在接收器portlet JSP中放置多个事件
Liferay.on('eventName',function(event) {
// write code to get the veluese that sent by sender portlet
});

Example code as follows in receiver portlet view.jsp

Liferay.on('getUserData',function(event) {
 alert('User Name:'+ event.name)
});

有关详细信息,您可以浏览以下链接。 http://www.liferaysavvy.com/2014/01/liferay-client-side-inter-portlet.html https://www.liferay.com/web/meera.success/blog/-/blogs/liferay-client-side-inter-portlet-communication-using-ajax http://www.liferay.com/community/wiki/-/wiki/Main/Inter-portlet+communication