2014-09-01 2 views
0

Пока у меня не было такой ситуации, она работает:метод JSNI в GWT

JS сторона:

jsMethod : function(){...} 

GWT Java сторона:

public static native void javaMethod(JavaScriptObject obj) /*-{ 
    var test = null; 
    test = ... ; 
    test.jsMethod();  
}-*/; 

Проблема заключается в том, когда я попробуйте сделать что-то подобное

JS боковые

jsMethod : function(a, b){... return string} 

GWT Java сторона

String a = 'yes' 
String b = 'no' 

public static native void javaMethod(JavaScriptObject obj) /*-{ 
    var test = null; 
    test = ... ; 

    var testString = null; 
    testString = test.jsMethod(a, b); 
}-*/; 

я бы передать параметр из GWT в JS, а затем возвращает строку, но я не»знаю, как это сделать. Спасибо .

ответ

0

Вы можете добавить параметры в родной JavaMethod

public static native String javaMethod(JavaScriptObject obj, String a, String b) /*-{ 
    var test = null; 
    test = ... ; 

    var testString = null; 
    testString = test.jsMethod(a, b); 
    return testString; 
}-*/; 
+0

Хорошо! Он работает @PatriceDeSaintSteban! – django

0

Как и Java. Верните строку.

public static native String javaMethod(JavaScriptObject obj) /*-{ 
    var test = null; 
    test = ... ; 

    var testString = null; 
    testString = test.jsMethod(a, b); 
    return testString; 
}-*/; 
+0

Хорошо, но я не знаю, как передать параметры, то это требуется это: [. Экземпляр-выражение]»имя класса @ :: method-name (param-signature) (arguments) '? – django

+0

@django Является ли тест Строка не строкой? –

+0

Это строка, не отформатированная @ sᴜʀᴇsʜᴀᴛᴛᴀ – django