Java调用脚本语言(JavaScript)
2013-08-25 14:25
357 查看
在jdk1.6之后就支持了调用脚本语言,比如PHP,Ruby,Groovy,JavaScript
脚本语言优点:
灵活:脚本语言一般都是动态类型,可以不用声明变量类型而直接使用,也可以在运行期改变类型。
便捷:脚本语言是一种解释型语言,不需要编译成二进制代码。
一些易变业务可以使用脚本语言编写。
下面给出一个例子程序:
简单的运算
脚本语言优点:
灵活:脚本语言一般都是动态类型,可以不用声明变量类型而直接使用,也可以在运行期改变类型。
便捷:脚本语言是一种解释型语言,不需要编译成二进制代码。
一些易变业务可以使用脚本语言编写。
下面给出一个例子程序:
demo.js function formula(var1, var2){ return var1 + var2 * factor; }
简单的运算
CallJavaScript.java package org.xxz.test; import java.io.FileReader; import java.util.Scanner; import javax.script.Bindings; import javax.script.Invocable; import javax.script.ScriptContext; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; @SuppressWarnings("resource") public class CallJavaScript { public static void main(String[] args) throws Exception { // 获取一个javascript 执行引擎 ScriptEngine engine = new ScriptEngineManager()// .getEngineByName("javascript"); // 绑定上下文 Bindings bind = engine.createBindings(); bind.put("factor", 1); // 绑定上下文,作用域是当前引擎范围 engine.setBindings(bind, ScriptContext.ENGINE_SCOPE); Scanner input = new Scanner(System.in); while(input.hasNextInt()){ int first = input.nextInt(); int sec = input.nextInt(); System.out.println("input numbers: "+first+" " +sec); // 执行js代码 engine.eval(new FileReader("src/org/xxz/test/demo.js")); if(engine instanceof Invocable){ // 是否可调用方法 Invocable in = (Invocable) engine; // 执行js中的函数 Double result = (Double) in.invokeFunction("formula", first, sec); System.out.println("result:" + result.intValue()); } } } }
相关文章推荐
- 在JavaScript脚本上调用Java
- Java动态调用脚本语言Groovy
- OpenJDK源码研究笔记(十六):在Java中使用JavaScript脚本语言
- Mozilla Rhino:使用java语言来解释和执行javascript脚本(转)
- Java脚本API之动态调用动态语言
- OpenJDK源码研究笔记(十六):在Java中使用JavaScript脚本语言
- OpenJDK源码研究笔记(十六):在Java中使用JavaScript脚本语言
- java调用脚本语言笔记(jython,jruby,groovy)
- JDK8中Java调用Javascript脚本引擎动态定义与执行代码
- Java动态调用脚本语言Groovy,完善接口配置
- 动态调用动态语言之Java脚本API
- java中调用lua脚本语言1
- 动态调用动态语言之Java脚本API
- 动态调用动态语言之Java脚本API(理论+实践)1
- 动态调用动态语言之Java脚本API
- 动态调用动态语言之Java脚本APIs(转)
- CrawlScript语言————一门用javascript语法在JAVA环境下,快捷开发网络爬虫的脚本语言
- 动态调用动态语言的Java脚本API
- java中调用lua脚本语言1
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97