2009-05-02 41 views
5

是否可以在GWT中创建可以动态加载并添加到GWT Web应用程序的小部件/ portlet,以及GWT小部件可以驻留在单独的war文件中的位置?是否可以在单独的war文件中创建可动态插入的GWT小部件/ portlet?

澄清我的问题: 符合JSR168/JSR286标准的门户可以在单独的项目(war文件)中创建portlet,并将它们动态加载到门户页面中。假设你想在GWT应用程序中做类似的事情。所以假设我们为GUI使用了GWT(没有JSP或类似),并且我们想动态添加一个用纯GWT编写的“portlet”。这可能吗?

我可以想象它可以使用IFrame完成,但如果GWT widget/portlet完全成为GWT主机“门户”应用程序的一部分并共享其样式表和其他资源,那将会更好。

回答

2

我想象一下,“GWT portlet”只不过是你自己编写的一个小部件(也许实现了一个通用接口)。

最难的部分是动态地允许预编译的gwt应用程序在不与源重新编译的情况下包含另一个gwt组件(在这种情况下为portlet)(这正是问题似乎暗示的)。

+0

谢谢。最后一部分“动态包含”正是我想要的。假设你有一个适合用户需求80%的Web应用程序,但有20%的用户有特殊需求。那么,只为它们动态包含自定义组件会很好。 – Roy 2009-05-05 18:05:00

1

我也一直在研究这个问题,特别是在看了Wave演示之后。据我所知,Wave团队采取的方法是使用Google Gadget api或Gadget api的变体。 Google还有一个关于在GWT中编写小工具的教程。我想你会使用基于事件的API,其中JSO对象在小工具和GWT应用程序之间传递。请注意,如果来自不同的域,这也可能会引入XSS问题。我认为这是类似于在Flash中动态swo的swf。事件方法与使用跨站点动态加载的swf安全地工作类似。

0

我在GWT方面很新,但是根据我所推荐的,我可以告诉你,你必须遵循一个架构MVP和一个应用控制器,动态地“插入”和“播放”你想要发送的内容使用必须来自模型层的元数据......像“元应用程序”

相关问题