簡體   English   中英

有什么方法可以自動將Javascript庫橋接到GWT?

[英]Is there any way to automatically bridge a Javascript library to GWT?

我需要橋接一個相當程序化的Javascript庫,該庫由一些.js文件組成,這些文件包含要從GWT調用的函數。

已經有一個名為GWT-Exporter的實用程序,它的功能恰好相反(http://code.google.com/p/gwt-exporter/),我需要一種GWT-Importer,它可以自動生成.java包裝器。 javascript函數。

我知道這里的類型是一個問題,但是如果所有返回類型都變成JavaScriptObject或原語,我會很滿足。

JSNI似乎是這種方式,但是我希望可以自動創建類的東西,而不必通過JSNI手動綁定所有方法。

這聽起來像是JSNI的工作。

http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html

如果知道要調用的函數,那么設置包含包含表示所討論函數的靜態方法的單個實用程序類就相當容易。


假設您有一個JavaScript庫,要在其中向GWT應用程序公開函數foo()bar(number) 您需要執行以下操作。

  1. 將JavaScript庫放在war目錄中。 (如果是外部托管,則不需要。)
  2. 通過在主機頁面上添加<script>標記來包含腳本
  3. 創建實用程序類

public final class LibraryName {

    public static native int foo() /*-{
        $wnd.foo(); // Use $wnd instead of window in JSNI methods
    }-*/;

    public static native void bar(double number) /*-{
       $wnd.bar(number)
    }-*/;

}

有關JSNI的更深入的文章,請訪問http://googlewebtoolkit.blogspot.com/2008/07/getting-to-really-know-gwt-part-1-jsni.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM