GWT:无法从我的onmoduleload调用mymain.html类中的javascript方法

时间:2012-04-07 06:56:11

标签: java gwt jsni

我试图在GWT中从我的java调用我的Javascript方法 以下是我正在做的事情

public void onModuleLoad() {
    jsniAlert("test");
}

private static final native void jsniAlert(String test) /*-{
    $wnd.alert(test);
    $wnd.testJavascript();
}-*/;

HelloJSNI.html(用于在war文件夹中打开我的应用程序的主要html类)

<script type="text/javascript" language="javascript"  
    src="hellojsni/hellojsni.nocache.js"></script>

<script type="text/javascript">
    function testJavascript(var input) {
        window.jsniAlert();
        var var1inJS = "Default value";

        alert("Value of Var1 = " + var1inJS);
        var1inJS = input;
        alert("Value of Var1 = " + var1inJS);

        var var2inJS = "Waht is the value of Var2";

        alert("Value of Var2 = " + var2inJS);   
    }

但是当我运行我的应用程序时会出现异常

javascriptexception:object doesn't support property or method 'testjavascript'

2 个答案:

答案 0 :(得分:1)

您的testJavascript功能出错,因此无法加载,也无法调用。

改变这个:

function testJavascript(var input) {

到这个

function testJavascript(input) {  //notice that var keyword is not used to define parameters

答案 1 :(得分:0)

您的javascript函数未加载。 在浏览器中,当浏览器在脚本标记之间删除代码中的错误时,内部代码将不会被加载,并且可能导致意外结果。