2

Javascript から Java メソッドを呼び出すにはどうすればよいですか? 私は次のことを試しました

http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html#calling

しかし、それは機能していません。ライブラリがコールバックを使用しているため、JS を Java ファイルに入れることができません。私の App.html ファイルで:

    function pickerCallback(data) {
        var doc = data[google.picker.Response.DOCUMENTS][0];
        var name= doc[google.picker.Document.NAME];
        var fileId = data.docs[0].id;

        // set the path text field
        //[instance-expr.]@class-name::field-name
        //[instance-expr.]@class-name::method-name(param-signature)(arguments)
        // Call static method 
        //@com.onix.sdm.client.SDM_Mailer::setSelectedFolder(Ljava/lang/String;Ljava/lang/String;)(name, fileId);
        $entry(@com.onix.sdm.client.SDM_Mailer::setSelectedFolder(name, fileId));
    }

SDM_Mailer.java 内:

private static void setSelectedFolder(String folder, String id) {
    SDM_Mailer myThis = SDM_Mailer.getInstance();
    myThis.textFolder.setText(folder);
    myThis.folderId = id;
}

アプリをロードすると、ブラウザ コンソールに次のエラーが表示されます。

Uncaught SyntaxError: Unexpected token ILLEGAL

この行で:

      $entry(@com.onix.sdm.client.SDM_Mailer::setSelectedFolder(name, fileId));

その直前の行(今のところコメント済み)も試しましたが、同じエラーが発生しました。

4

2 に答える 2