将javascript对象引用传递给java函数

时间:2014-07-16 08:52:22

标签: java javascript jquery vaadin

我有一个用Java(Vaadin框架)编写的应用程序,它正在服务器端工作。我还有一些需要在浏览器中执行的Javascript脚本。 Serwer应该调用某些js函数。为此,我想将javascript对象的实例引用传递给服务器。我在Firefox中测试我的应用程序。

在服务器端,我导出了Javascript应该调用的函数。

JavaScript.getCurrent().addFunction("testfun", new JavaScriptFunction() {
        public void call(JSONArray arguments) throws JSONException {
            /* ... */
        }
    });
}

单击按钮时,我在客户端调用它。

var that;
function EventsTest() {
    that = this;
}

EventsTest.prototype.init = function() {
    /* creating JQuery Button ...*/

    btnClick.onclick = function(){
        testfun(that);
    };

}

注意,我无法在EventsTest函数中调用testfun,因为我需要等待加载Vaadin应用程序。

当我加载应用程序并按下按钮时,firebug会返回错误:

com.vaadin.client.ApplicationConfiguration SEVERE: (InternalError) : too much recursioncom.google.gwt.core.client.JavaScriptException: (InternalError) : too much recursion

我做错了什么?有没有其他办法,我的脚本将在浏览器中运行并由服务器调用?

0 个答案:

没有答案