Rhino и envjs: делиться объектами Javascript с Java-приложением

Я использую rhino и envjs, встроенные в мое приложение Java, как описано в руководстве envjs

Java-код:

import org.mozilla.javascript.Context;
import org.mozilla.javascript.ContextFactory;
import org.mozilla.javascript.tools.shell.Global;
import org.mozilla.javascript.tools.shell.Main;
...
Context cx = ContextFactory.getGlobal().enterContext();
cx.setOptimizationLevel(-1);
cx.setLanguageVersion(Context.VERSION_1_5);
Global global = Main.getGlobal();
global.init(cx);
Main.processSource(cx, "path/to/your/JSfile");

Это работает, и мой тестовый файл javascript правильно загружает удаленный сайт и выполняет некоторые манипуляции с элементами HTML, используя jQuery.

Я не могу понять, как отправить данные из JavaScript обратно в мое Java-приложение.

Вот мой файл.js:

load('env.rhino.js');
load('jquery.js');
Envjs.scriptTypes['text/javascript'] = true;
window.location = 'http://[mytestpage].html'
var body = $("body");
print("The body is: "+ $.trim(body));//this prints in the Java console!

//I'd like to call a function in my Java code from the Javascript and pass the bodyText as a parameter to it. How can i do this?
myJavaFunction(bodytext);

1 ответ

Так что этот урок Rhino был очень полезен для изучения того, как подключить вашу Java к JS. https://developer.mozilla.org/en-US/docs/Scripting_Java

Другие вопросы по тегам