Как вызвать метод Java из Javascript? Я пробовал следующийВызвать Java из Javascript с помощью GWT JNSI
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
Об этом line:
$entry(@com.onix.sdm.client.SDM_Mailer::setSelectedFolder(name, fileId));
Я также попробовал li ne непосредственно перед этим (прокомментировано сейчас), что также дало ту же ошибку.
Спасибо, что дополнительное объяснение очень полезно. Документы не отображали метод, который фактически вызывается, и это то, что я думал, что это делалось выше. – Chloe