У меня есть ресурс javascript и примените Rhino Script Engine для вызова метода со стороны java.Доступ к javascript-методу со стороны Java
(function(global){
var Result;
(Result = function(val) {
this.tpl = val || '' ;
}).prototype = {
get: function()
{
return this.tpl ;
}
};
} (window)) ;
Вот как я это сделал на стороне java, как я могу вызвать метод get в приведенном выше скрипте?
@Test
public void testCallJSMethod() throws Exception {
String jsResource = getJSResource();
jsEngine.put("window", "window");
jsEngine.put("window.Result", "Result");
jsEngine.eval(jsResource);
Invocable inv = (Invocable) jsEngine;
Object obj = jsEngine.get("window.Result");
assertEquals(true, obj != null);
//try to call get method in above script, but it doesn't work
inv.invokeMethod(obj, "get", new Object[] {});
}
Какой тип jsEngine? –
Это движок Rhino [ссылка] (https://developer.mozilla.org/en/docs/Rhino) –