是否可以在单独的war文件中创建动态可插入的GWT小部件/ portlet?

时间:2009-05-02 11:00:13

标签: java gwt widget portlet portal

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

澄清我的问题: 符合JSR168 / JSR286标准的门户可以在单独的项目(war文件)中创建portlet,并将这些portlet动态加载到门户页面中。假设您想在GWT应用程序中执行类似的操作。因此,假设我们仅为GUI使用GWT创建门户(没有JSP或类似),我们想要动态添加用纯GWT编写的“portlet”。那可能吗?

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

3 个答案:

答案 0 :(得分:2)

我认为“GWT portlet”只不过是你自己编写的一个小部件(并且可能实现了一个通用接口)。

困难的部分是动态允许预编译的gwt应用程序包含另一个gwt组件(在这种情况下为portlet),而无需再次使用源代码进行编译(这就是问题所暗示的内容)。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我在GWT方面还很新,但基于我的内容,我可以告诉你,你必须遵循一个架构MVP与一个App Controller,动态地“插入”和“播放”你想要发送的内容必须来自模型层的元数据......类似于“元应用程序”