从ASP.NET 3.5应用程序在IFRAME中运行GWT应用程序(包括Applet)?

Jay*_*ens 7 asp.net iframe gwt

我们正在考虑将完整的GWT(Google Web Toolkit 2.0)应用程序与现有的ASP.NET 3.5应用程序集成.我的第一个直觉反应是,这是一个可怕的弗兰肯斯坦的想法.但是,客户坚持要求我们使用由第三方开发的此应用程序.

我几乎无法控制GWT应用程序的开发.

我的第一个想法是实际尝试将其嵌入到iFrame中.因为GWT在Tomcat/Jakarta下运行,所以它托管在与.NET应用程序不同的服务器上,因此iFrame src将是另一台机器上的URL.

我需要利用自己的ASP.NET授权方案来限制对嵌入式GWT应用程序的访问.GWT应用程序还使用嵌入式Java小程序,这些小程序现在似乎在iframe中不起作用.GWT应用程序调用后端服务器(使用GWT-RPC?).

任何人都可以看到这种方法的任何重大问题?GWT是否可以在托管在不同计算机上的iframe上运行?

注意:简单地添加具有相同名称的DIV不适用于此!

Jas*_*all 6

为了阐述Tony所说的话,GWT可以在任何页面上生存.在最低级别,GWT div通过其ID或body元素挂钩到其中RootPanel,并从那里添加小部件.

只需<div id="gwt-root" />在您的GWT代码中添加一个div到您的ASP页面,然后从RootPanel root = RootPanel.get("gwt-root").然后,您可以开始向该面板添加小部件以构建页面的GWT部分.

您还需要使用script标记引入GWT生成的代码,如下所示:

<script type="text/javascript" src="gwt-app-name/gwt-app-name.nocache.js">
Run Code Online (Sandbox Code Playgroud)

此外,如果您愿意,GWT可以使用常规JavaScript使用JSNI与页面的其余部分进行交互.

  • 您可以从任何站点引用JS文件(只要该文件是可读的).只需将``script`标签更改为`http:// otherserver.com/gwt-app-name/gwt-app-name.nocache.js`的绝对URL.您可能遇到问题的地方是制作GWT-RPC请求......在这种情况下,您可以按照您的说法执行并在另一台服务器上托管的iframe中运行GWT应用程序. (2认同)