如何将Javascript和GWT链接到传递参数

时间:2014-08-19 10:20:12

标签: java javascript gwt

我有这个GWT代码:

Button button = new Button("Search");
                button.addClickHandler(new ClickHandler() {

                    @Override
                    public void onClick(ClickEvent event) {
                        loadData();

                    }
                });

...

    private native void loadData()  /*-{
        $wnd.loadGrid();
    }-*/;

和这个Javascript代码:

...
loadGrid : function (){ 
            alert("Testing JSNI");
        },
...

它不起作用,错误是:

Uncaught com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) : undefined is not a function

这是一个示例代码,因为我的目标是将参数从js传递到GWT,但我不明白它为什么不运行。怎么了?感谢。

1 个答案:

答案 0 :(得分:0)

loadGrid函数放在窗口上下文中:

window.loadGrid = function(){...}

否则从适当的对象容器中调用函数,例如:

window.myObject = {
   loadGrid: function(){...}
}

private native void loadData() /*-{
   $wnd.myObject.loadGrid()
}-*/;