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

您将其称为new $wnd.EGeoXml()。$wnd 部分对我来说有点奇怪。有必要吗?

无论如何,如果仅在 Vaadin 项目中存在问题,您可能需要检查代码是否位于正确的包中。请记住,GWT 希望代码位于名为 .client 的包中。Vaadin 的服务器端类可以在任何地方。

于 2010-11-01T16:11:56.170 回答