JSDemo.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //
  2. //import org.springframework.util.ResourceUtils;
  3. //
  4. //import java.io.*;
  5. //import java.net.URL;
  6. //import java.util.List;
  7. //
  8. //import javax.script.Invocable;
  9. //import javax.script.ScriptEngine;
  10. //import javax.script.ScriptEngineManager;
  11. //
  12. ///**
  13. // * java 中的脚本引擎
  14. // * @author xzlf
  15. // *
  16. // */
  17. //public class JSDemo {
  18. // public static void main(String[] args) throws Exception {
  19. // // 获取脚本引擎对象
  20. // ScriptEngineManager manager = new ScriptEngineManager();
  21. // ScriptEngine engine = manager.getEngineByName("javascript");
  22. // // 定义变量
  23. // engine.put("msg", "Hello World!");
  24. // String str = "var user = {name:'张三', age:18};";
  25. // str += "print(user.name);";
  26. // // 执行脚本
  27. // engine.eval(str);
  28. // engine.eval("msg='Hello Java'");
  29. // System.out.println(engine.get("msg"));
  30. //
  31. // // 定义函数
  32. // engine.eval("function add(a, b){ return a +b;}");
  33. // // 取得调用接口
  34. // Invocable jsInvocable = (Invocable) engine;
  35. // // 执行脚本中定义的方法
  36. // Object result = jsInvocable.invokeFunction("add", 11, 12);
  37. // System.out.println(result);
  38. //
  39. // // 导入java包,使用其他包中的java类
  40. // String jsCode = "var list = java.util.Arrays.asList([\"Java\", \"Html\", \"MySQL\"])";
  41. // engine.eval(jsCode);
  42. // List<String> list = (List<String>) engine.get("list");
  43. // for (String string : list) {
  44. // System.out.println(string);
  45. // }
  46. //
  47. // File filepath = new File(JSDemo.class.getClass().getResource("/").getPath());
  48. // System.out.println(filepath);
  49. //
  50. //// File directory = new File("");//参数为空
  51. //// String courseFile = directory.getCanonicalPath() ;
  52. //// System.out.println(courseFile);
  53. //
  54. //// URL xmlpath = JSDemo.class.getClass().getClassLoader().getResource("picc.js");
  55. //// System.out.println(xmlpath);
  56. //
  57. //// String uploadDir= ResourceUtils.getURL("classpath:").getPath()+"";
  58. //// System.out.println(uploadDir);
  59. // // 执行js 文件(js文件放在src下)
  60. // Reader reader = new BufferedReader(
  61. // new InputStreamReader(new FileInputStream("src/test/picc.js")));
  62. // engine.eval(reader);
  63. // // 取得调用接口
  64. // jsInvocable = (Invocable) engine;
  65. // // 执行脚本中定义的方法
  66. // result = jsInvocable.invokeFunction("strDec", "7EF85F2C732A4BE5CA3179151F8B59197921B89E86AAD9A5", "*","$" ,"@");
  67. // System.out.println(result);
  68. //
  69. // Object result2 = jsInvocable.invokeFunction("strDec", "9820FD0729215F11", result.toString(),"" ,"");
  70. // System.out.println(result2.toString());
  71. //
  72. // Object result3 = jsInvocable.invokeFunction("strDec", "01B9D5EBFAE596015FAA4F395D2836F53E302730DB4988129CA09F18ADB16E6D", result2.toString(),result.toString() ,"");
  73. // System.out.println(result3.toString());
  74. //
  75. // Object result4 = jsInvocable.invokeFunction("strDec", "9820FD0729215F11", result.toString(),"" ,"");
  76. // System.out.println(result4.toString());
  77. //
  78. //
  79. // reader.close();
  80. // }
  81. //}