Liferay Inter-portlet communication(client side)

本文介绍如何使用 Liferay 提供的脚本,在一个端口发送事件后,触发另一个端口自动刷新的方法。通过 Liferay.fire 和 Liferay.on 方法实现端口间的通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

It's very easy to do that. Liferay provides script to do that.

This is the syntax:

 Liferay.fire(eventName, data)
 Liferay.on(eventName, function, [scope])

In my case, one portlet just sends an event out. The other portlet only needs to refresh itself.

Liferay.fire('iFramePortletReload', 'iFramePortletReload');


Liferay.on('iFramePortletReload', function(event, data) {
window.location.reload();
//Liferay.Portlet.refresh('#p_p_id<portlet:namespace />');
});


window.location.reload(); // When I use this script, actually it'll refresh the current liferay page not only the portlet which receives the event. 

Liferay.Portlet.refresh('#p_p_id<portlet:namespace />'); // this statement will only refresh current portlet which receive the event.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值