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));
その直前の行(今のところコメント済み)も試しましたが、同じエラーが発生しました。