Mega Code Archive

 
Categories / Java / JDK
 

Use an external file containing the javascript code

import java.io.InputStreamReader; import java.util.List; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class Main {   public static void main(String[] args) throws Exception{     ScriptEngineManager mgr = new ScriptEngineManager();     ScriptEngine engine = mgr.getEngineByName("javascript");     engine.eval(new InputStreamReader         (Main.class.getResourceAsStream("s.js")));          List <String> list1 = (List <String>)engine.get("list1");     if (list1 != null) {       for (String s : (List<String>) list1) {         System.out.println(s);       }     }     if (engine instanceof Invocable){       Invocable engineInv = (Invocable)engine;       Object obj = engine.get("listObject");       Object list2 = engineInv.invokeMethod(obj, "getList2");       if (list2 != null) {         for (String s : (List<String>) list2) {           System.out.println(s);         }       }     }   } }