## page was renamed from rhino = rhino = Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. It is embedded in J2SE 6 as the default Java scripting engine. [[https://developer.mozilla.org/en-US/docs/Rhino]] == Invoke JavaScript from Java example == {{{#!highlight javascript // /tmp/test.js function isOdd(number) { if(number % 2){ return false; } else{ return true; } }; }}} {{{#!highlight java import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; import java.io.FileNotFoundException; import java.io.FileReader; public class JSTest { /** * @param args */ public static void main(String[] args) { ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine engine = sem.getEngineByName("ECMAScript"); FileReader fr = null; String path = "/tmp/test.js"; try { fr = new FileReader(path); } catch (FileNotFoundException e) { System.out.println(String.format("File %s not found", path)); } if (fr != null) { try { engine.eval(fr); if (engine instanceof Invocable) { Invocable iv = (Invocable) engine; try { System.out.println(iv.invokeFunction("isOdd", new Integer(4))); System.out.println(iv.invokeFunction("isOdd", new Integer(5))); } catch (NoSuchMethodException ex) { ex.printStackTrace(); } catch (ScriptException ex) { ex.printStackTrace(); } } } catch (ScriptException ex) { ex.printStackTrace(); } } } } }}}