我想仅使用GWT(没有Google Gadget)实现或模仿Portlet JSR286规范和Interportlet通信功能的行为。
这是我的用例:
- 我在site1.abc.org上托管了一个GWT App-1
- 我在site2.abc.org上托管了一个GWT App-2
- 我在site-portal.abc.org上托管了一个GWT App-Portal(即My Portal-a-like app)
我的GWT App-Portal需要在同一页面上显示GWT App-1和GWT-App2。 此外,App-1需要交互并将数据(通过一个或多个事件)发送到App2。
问题:
1)这在技术上是否可行?
2)你会如何实现这个?
PS:如果这样做,我们可能不得不关闭我们的Big-Vendor-Horizontal-Portal计划。
答案 0 :(得分:0)
自从我2年前开始使用GWT以来,我一直在考虑和尝试这样的项目,我相信你想要的是可能的,但是存在一些技术障碍。主要技术障碍是链接器不是设计为动态加载模块(引导脚本依赖于onLoad事件),因此您必须编写自己的链接器或为可能出现的每个已安装的portlet运行引导脚本页面(如果你在加载函数中有代码分裂,这不是一个巨大的性能影响.GWT门户实现将严重依赖于Ray Cromwell的GWT-Exporter。你需要使用它实现portlet API以允许通信在门户网站和portlet之间。因为必须在开始时使用默认链接器加载portlet,你需要从portlet中导出一个函数,该函数将DOM元素作为参数,以便门户网站可以告诉portlet将portlet的一个实例加载到已定义的元素中。