Да. В JSNI для myFIRSTJsniMethod() используйте обычный синтаксис JSNI для вызова метода Java.
Например, если эти два метода в классе com.mycompany.Test
, вы могли бы назвать mySECONDJsniMethod() следующим образом:
public native JavaScriptObject myFIRSTJsniMethod(String name) /*-{
var secondVar = [email protected]::mySECONDJsniMethod(Ljava/lang/String;)(name);
//..
return firstVar;
}-*/;
Смотрите документацию GWT на Accessing Java Methods and Fields from JavaScript для получения дополнительной информации.
EDIT: Вот полный компилируемый пример:
package com.mycompany.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.JavaScriptObject;
public class SO26277049 implements EntryPoint {
@Override
public void onModuleLoad() {
final JavaScriptObject firstVar = myFIRSTJsniMethod("hello world!");
}
public native JavaScriptObject mySECONDJsniMethod(String name) /*-{
var secondVar = {
name: name
};
return secondVar;
}-*/;
public native JavaScriptObject myFIRSTJsniMethod(String name) /*-{
var secondVar = [email protected]::mySECONDJsniMethod(Ljava/lang/String;)(name);
$wnd.alert(secondVar.name);
var firstVar = secondVar;
return firstVar;
}-*/;
}
Теперь она возвращается, что * mySECONDJsniMethod * не определено @Daniel Trebbien. – django
@django: Что такое полностью квалифицированное имя класса, содержащее эти два метода? Вы должны использовать это вместо 'com.mycompany.Test'. Я отредактировал свой ответ, чтобы дать полный пример. –