1

GWT から呼び出す関数を含むいくつかの .js ファイルで構成されるかなり手続き型の Javascript ライブラリを橋渡しする必要があります。

まったく逆のことを行う GWT-Exporter と呼ばれる優れたユーティリティが既にあります (http://code.google.com/p/gwt-exporter/)。 JavaScript 関数。

ここで型が問題になることは承知していますが、すべての戻り値の型が JavaScriptObject またはプリミティブになれば満足です。

JSNI がその方法のようですが、JSNI を介してすべてのメソッドを手動でバインドするのではなく、クラスを自動的に作成するものが必要です。

4

1 に答える 1

3

これは JSNI の仕事のように思えます。

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

呼び出したい関数がわかっている場合は、問題の関数を表す静的メソッドを含む単一のユーティリティ クラスを設定するのはかなり簡単です。


foo()関数を持ち、 bar(number)GWT アプリケーションに公開したい JavaScript ライブラリがあるとします。次のことを行う必要があります。

  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をご覧ください。

于 2010-11-09T22:08:25.260 に答える