我们正在尝试实现一个能够模拟经典重定向的portlet通信,但目前尚未成功。
这看起来是portlet世界中的常见问题,但缺乏关于特定门户实现的文档/ howtos / tutorials。
有没有人在这种环境中实现portlet通信的积极经验: - liferay 6.0.5 - JSF1.2 - richfaces 3.3.x实现
答案 0 :(得分:2)
IPC公共呈现参数在RENDER阶段传递给其他portlet,IPC事件在ACTION阶段发送并传递到EVENT阶段的其他portlet。如果您使用JSF并且不重新加载页面,那么这些都不可能,因此不能通过IPC进行Portlet通信。
然而,可以让他们纯粹在客户端使用Javascript进行通信。管理这个的负责任的方法是让每个JS库使用portlet命名空间来防止方法和变量冲突,但是在受控环境中(即当你编写在Portal服务器上运行的所有自定义portlet时),你可以省略它。
另一种方法是让所有通信portlet将Portal服务器用作中间件容器,并且它们都必须通过轮询服务器将数据写入服务器并获取更新。这不像在客户端上直接与JS交谈一样干净或简单。