после выяснения вчера, как настроить проект Eclipse, чтобы иметь возможность запускать JS-код (если вам это интересно: Build a JS server inside of Java for Google AppEngine), у меня есть следующий вопрос, связанный с этим тема: У меня есть JS-файл и функция внутри него. Мне нужно запустить эту функцию внутри моего Java-кода и передать в нее переменную (строку Java). Мой файл очень простой, он в настоящее время выглядит следующим образом:Вызовите функцию (Rhino) JS в Java и передайте переменную в
public class Com_feedic_readabilityServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/html");
Context cx = ContextFactory.getGlobal().enterContext();
cx.setOptimizationLevel(-1);
cx.setLanguageVersion(Context.VERSION_1_5);
Global global = Main.getGlobal();
global.init(cx);
Main.processSource(cx, "server_js/js_init.js");
}
}
Что мне нужно сделать сейчас, это вызов функции run()
в js_init.js
-файла. Как мне это сделать?
Вы используете JDK 6 механизма ScriptEngine? Кроме того, совершенно неясно, с какими функциями вы столкнулись, ну, что угодно. – Pointy
Он просто показывает, как я импортирую файл .js. И я использую импортированный файл jsjar Rhino, это не совсем механизм ScriptEngine (но я думаю, что он основан на нем, к тому же: я понятия не имею). – fb55
Хм ... ну, я прочитал этот пост в блоге, и это казалось непохоже на все, что я когда-либо делал с Носорогом. Я всегда использовал структуру JDK ScriptEngine и встроенную (несколько устаревшую) версию Rhino, и это очень легко использовать. – Pointy