学习笔记——JAVA执行javascript
2017-06-08 13:36
204 查看
java执行javascript Rhion引擎
package study; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.net.URL; import java.util.ArrayList; import java.util.List; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; /** * 测试脚本引擎执行javascript代码 * * @author http://blog.csdn.net/thewaiting * */ public class test { public static void main(String[] args) throws ScriptException { // 获取脚本引擎对象 ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine engine = sem.getEngineByName("javascript"); System.out.println(); // 定义变量,存储到引擎的上下文中 engine.put("msg", "测试"); String str = "var user = {name:'Tom',age:18,schools:['学校','dd']};"; str += "print(user.name);"; // 执行脚本 try { engine.eval(str); engine.eval("msg = '测试修改'"); System.out.println(engine.get("msg")); // 定义函数 engine.eval("function add(a,b){var sum =a + b;return sum;}"); // 取得调用接口 Invocable jsInvocable = (Invocable) engine; // 执行脚本中定义的方法 Object re = jsInvocable.invokeFunction("add", new Object[] { 5, 6 }); System.out.println(re); // 导入其他的java包,使用其中的java类, /** * 脚本语言错误可以去Rhino官网学习语法 */ String jsCode = "import(java.util); var cars=new ArrayList([\"一\",\"二\",\"三\"]);"; engine.eval(jsCode); List<String> list2 = (List<String>) engine.get("ca 4000 rs"); for (String str1 : list2) { System.out.println(str1); } // 执行一个js文件 URL url = test.class.getClassLoader().getResource("js文件"); FileReader fr = new FileReader(url.getPath()); engine.eval(fr); fr.close(); } catch (ScriptException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关文章推荐
- 在JAVA程序中直接执行JAVASCRIPT代码(简单调用实例)
- Java中如何执行JavaScript
- C# Javascript引擎,如何在C#中执行现有的Javacript代码?
- Java脚本引擎执行 javascript 代码
- java执行JavaScript脚本
- 一个可以让你用javascript脚本动态执行java的框架Seppia
- java中执行操作javascript
- java执行javascript方法体,并获取返回值
- [Java][Js]利用Rhino在服务器端执行JavaScript、并实现Java与JavaScript相互调用
- 脚本引擎执行javascript代码_Rhino引擎JAVA215
- 在java中解释执行javascript命令
- 在JAVA程序中直接执行JAVASCRIPT代码
- javax.script包探秘 javascript与java交互执行
- Jsp 中JavaScript 和 Java代码的异步执行特点
- 使用Java执行JavaScript
- 在java中利用rhino执行javascript
- Mozilla Rhino:使用java语言来解释和执行javascript脚本(转)
- 意外作出了一个javascript的服务器,可以通过js调用并执行任何java(包括 所有java 内核基本库)及C#类库,并最终由 C# 执行你提交的javascript代码! 不敢藏私,特与大家分
- Mozilla Rhino:使用java语言来解释和执行javascript脚本(转)
- JAVA执行javascript方法