Giriş
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
import javax.script.ScriptEngine;
constructor metodu
Şöyle yaparız.
ScriptEngineManager mgr = ...;
ScriptEngine engine = mgr.getEngineByName("JavaScript");
createBindings metodu
Elimizde şöyle bir js olsun.
Elimizde şöyle bir js olsun.
var renderServer = function renderServer(server_data) {
   //your js logic...
   return html_string.
}
Şöyle yaparız.try (InputStreamReader isr = new InputStreamReader(new URL(jsFilePath).openStream())) {
  NashornScriptEngine engine = (NashornScriptEngine) new ScriptEngineManager()
    .getEngineByName("nashorn");
  CompiledScript compiledScript = engine.compile(isr);
  Bindings bindings = engine.createBindings();
  compiledScript.eval(bindings);
  ScriptObjectMirror renderServer = (ScriptObjectMirror) bindings.get("renderServer");
  String html = (String) renderServer.call(null, jsonData);
  System.out.println(html);
} catch (Exception e) {
  e.printStackTrace();
}
eval metodu
Şöyle yaparız.
ScriptEngine engine = ...;
String foo = "40+2";
System.out.println(engine.eval(foo));
Hiç yorum yok:
Yorum Gönder