代码之家  ›  专栏  ›  技术社区  ›  Jay Stevens hutchonoid

从ASP.NET 3.5应用程序运行iframe中的GWT应用程序(包括小程序)?

  •  7
  • Jay Stevens hutchonoid  · 技术社区  · 15 年前

    我们正在考虑将一个全面的GWT(GoogleWebToolkit2.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不适用于此!

    2 回复  |  直到 14 年前
        1
  •  6
  •   Jason Hall    14 年前

    为了解释托尼所说的话,GWT可以在任何页面上生存。在最底层,GWT连接到 div 通过它的ID或 body 元素作为其 RootPanel ,并从那里向其添加小部件。

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

    您还需要使用 script 标签,像这样:

    <script type="text/javascript" src="gwt-app-name/gwt-app-name.nocache.js">
    

    此外,如果需要,GWT可以使用常规的javascript与页面的其他部分进行交互 JSNI .

        2
  •  1
  •   Tony BenBrahim    15 年前

    您不需要iframe。编写应用程序,使主面板位于具有特定ID的DIV中。如果您的ASP.NET可以提供具有相同ID的DIV,那么您所要做的就是包括生成的javascript文件(+一些样式表),并且您的应用程序将显示在DIV中。