是否可以在现有网页中添加GWT作为组件?
答案 0 :(得分:0)
我不知道组件究竟是什么意思,但GWT可以集成到任何网页中,因为GWT输出(主要是)javascript。 JavaScript可以在任何页面中使用。页面是否存在或您只是计划创建它并不重要。如果您可以在该页面上包含js,则可以使用GWT。
答案 1 :(得分:0)
也许这就是你要找的东西?
Running a GWT application (including Applets) inside an IFRAME from an ASP.NET 3.5 app?
我认为这个问题的答案是相关的。
是的,GWT可以添加到任何现有网页。 GWT的RootPanel将是您在该网页上放置的div。
希望这有帮助。
答案 2 :(得分:0)
您需要了解浏览器技术的限制。也许,你已经这样做了。
要回答你的问题,你必须回到零 - javascript。
您是否能够编写一个简单的javascript对象作为当前应用程序的“组件”运行,以便在您的简单javascript对象和当前应用程序的画布之间存在双工通信?您的简单javascript对象可以调用并通过当前应用的功能调用吗?
知道GWT最终会被编译为javascript,如果一个简单的javacript对象无法与你当前的应用程序成功组合,你会认为有任何希望将GWT应用程序与你当前的应用程序组件化吗?
设置沟通渠道
组件化需要沟通能力。
让我们说,您需要使用jquery和GWT编写组合应用程序。你的jquery方应该能够专门写一个可以写入的HTML元素。像简单的DIV一样,确保元素具有ID。为了这个目的,你可以有几个元素。
在GWT方面,您的GWT代码将能够通过getElementById获取这些元素。瞧!有你的沟通渠道。
GWT是一种占主导地位的占有式生物,原因之一是 - 它拒绝创建小部件,你可以使用ID命名(除了ensuredebugId)。出于这个原因,它作为一个组件并不是很好。
更有可能的是,您的GWT应用程序是主应用程序,而您的非GWT应用程序是该组件。
将非GWT应用程序作为GWT应用程序的组件运行是一个非常“熟练的领域”。我们有用jquery,javascript甚至服务器端服务编写的图表,聊天,时钟,小部件等组件。然后我们围绕他们的元素编写GWT包装器并使用JSNI与它们进行通信。
创建DOM元素和javascript对象的所有这些非GWT途径都具有生成可以具有Id的元素的通用能力,这使得它们更容易在GWT下被组件化而不是相反。
很好的例子是Google Maps的Javascript API,Google Location API。例如HighCharts http://www.highcharts.com/。
答案 3 :(得分:0)
您需要做的就是在现有网页中创建一个div并为其提供一个ID。
然后使用以下内容将您的组件插入该div。
RootPanel.get("PUT THE DIV ID HERE").setWidget(superCoolGwtComponent);
简单:D