(inter portlet通信)IPC在liferay 6.0.5和JSF1.2中

时间:2011-03-29 10:59:13

标签: jsf portlet liferay liferay-6

我们正在尝试实现一个能够模拟经典重定向的portlet通信,但目前尚未成功。

这看起来是portlet世界中的常见问题,但缺乏关于特定门户实现的文档/ howtos / tutorials。

有没有人在这种环境中实现portlet通信的积极经验:   - liferay 6.0.5   - JSF1.2 - richfaces 3.3.x实现

1 个答案:

答案 0 :(得分:2)

IPC公共呈现参数在RENDER阶段传递给其他portlet,IPC事件在ACTION阶段发送并传递到EVENT阶段的其他portlet。如果您使用JSF并且不重新加载页面,那么这些都不可能,因此不能通过IPC进行Portlet通信。

然而,可以让他们纯粹在客户端使用Javascript进行通信。管理这个的负责任的方法是让每个JS库使用portlet命名空间来防止方法和变量冲突,但是在受控环境中(即当你编写在Portal服务器上运行的所有自定义portlet时),你可以省略它。

另一种方法是让所有通信portlet将Portal服务器用作中间件容器,并且它们都必须通过轮询服务器将数据写入服务器并获取更新。这不像在客户端上直接与JS交谈一样干净或简单。