我想仅使用 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(即类似我的 Portal 的应用程序)
我的 GWT App-Portal 需要在同一页面上显示 GWT App-1 和 GWT-App2。 此外,App-1 需要与 App2 交互并向其发送数据(通过调用或事件)。
问题:
1)这在技术上可行吗?
2)你将如何实现这个?
PS:如果这有效,我们可能不得不关闭我们的大 vendor 水平门户计划。
最佳答案
自从两年前开始使用 GWT 以来,我一直在考虑和尝试这样一个项目,我相信你想要的东西是可能的,但是存在一些技术障碍。主要的技术障碍是链接器未设计为动态加载模块(引导脚本依赖于 onLoad 事件),因此您要么必须编写自己的链接器,要么为可能出现在的每个已安装的 portlet 运行引导脚本页面(如果您在加载函数中进行代码分割,这不会对性能造成巨大影响。GWT 门户实现将严重依赖 Ray Cromwell 的 GWT-Exporter 。您将需要使用它来实现 portlet API,以允许在此外,由于必须在启动时使用默认链接器加载 portlet,因此您需要从 portlet 中导出一个函数,该函数接受 DOM 元素作为参数,以便 Portal 可以告诉 portlet 加载将 portlet 实例放入定义的元素中。
关于javascript - 使用 GWT 替代 JSR-286 和 Portlet 间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5086893/