【发布时间】:2011-07-25 04:38:00
【问题描述】:
我们正在尝试实现一个能够模拟经典重定向的 portlet 通信,但目前没有成功。
这似乎是 portlet 世界中的一个常见问题,但缺乏关于特定门户实现的文档/howtos/教程。
有没有人有在这种环境中实现 portlet 通信的积极经验: - 生命射线 6.0.5 - JSF1.2 - Richfaces 3.3.x 实现
【问题讨论】:
标签: jsf portlet liferay liferay-6
我们正在尝试实现一个能够模拟经典重定向的 portlet 通信,但目前没有成功。
这似乎是 portlet 世界中的一个常见问题,但缺乏关于特定门户实现的文档/howtos/教程。
有没有人有在这种环境中实现 portlet 通信的积极经验: - 生命射线 6.0.5 - JSF1.2 - Richfaces 3.3.x 实现
【问题讨论】:
标签: jsf portlet liferay liferay-6
IPC 公共渲染参数在 RENDER 阶段传递给其他 portlet,IPC 事件在 ACTION 阶段发送并在 EVENT 阶段传递给其他 portlet。如果您使用 JSF 并且不重新加载页面,那么这些都不可能,因此通过 IPC 的 Portlet 通信不是一个选项。
但是,可以让它们纯粹在客户端使用 Javascript 进行通信。管理这个负责任的方法是让每个 JS 库使用 portlet 命名空间来防止方法和变量冲突,但是在受控环境中(即当您编写在 Portal 服务器上运行的所有自定义 portlet 时)您可以省略它。
另一种方式是让所有通信的portlet 使用Portal 服务器作为中间件容器,它们都必须向服务器写入数据并通过轮询服务器来获取更新。这不像直接在客户端上相互交谈 JS 那样干净或容易。
【讨论】: