0

表も裏もわからない奇妙なエラーがあります。エラーのスニペットは次のとおりです。

(TypeError): $wnd.EGeoXml is not a constructor stack: $jsInit([object Object],[object Object],null)

実際のコード行は GWT であり、次のようになります。

private native void jsInit(JavaScriptObject map, String kmlFile) /*-{
        var exml = new $wnd.EGeoXml("exml", map, kmlFile, {});
        this.@com.example.client.EGeoXmlJava::ready(Lcom/google/gwt/core/client/JavaScriptObject;)(exml);
    }-*/;

このコードは、独自の GWT プロジェクトとして実行すると実際に機能しますが、このコードを Vaadin で使用すると、コンストラクター スタック エラーが発生します。コンストラクターが存在することは確かです。私が理解していないのは、GWT がコンストラクターではないと考える理由です。前もって感謝します。

4

1 に答える 1

0

新しい$wnd.EGeoXml()のように呼び出しています。$wndの部分は私には少し奇妙に見えます。必要ですか?

とにかく、それがVaadinプロジェクトでのみ問題になる場合は、コードが正しいパッケージにあることを確認することをお勧めします。GWTは、コードを.clientというパッケージに含めることを望んでいることに注意してください。Vaadinのサーバー側クラスはどこにでも置くことができます。

于 2010-11-01T16:11:56.170 に答える