您的位置:首页 > 编程语言 > Java开发

jdk7 新特性-Java语言的动态性-脚本语言支持api-脚本的编译04

2014-11-20 14:37 761 查看


package org.yla.java语言的动态性.脚本的编译04;

import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

/**
* 测试脚本的编译
* @author Administrator
*
*/
public class TestCompilable {

public static void main(String[] args) throws ScriptException {
new TestCompilable().run("println('你好啊')");
}

public CompiledScript compile(String scriptText) throws ScriptException{
ScriptEngine engine =getJavaScriptEngine();
//可以编译的
if(engine instanceof Compilable){
CompiledScript script =((Compilable)engine).compile(scriptText);
return script;
}
return null;
}

public void run(String scriptText) throws ScriptException{
CompiledScript script =compile(scriptText);
if(script==null){
return;
}
for (int i = 1; i < 100; i++) {
System.out.print(i+" ");
script.eval();
}
}

public ScriptEngine getJavaScriptEngine() {
ScriptEngineManager manager = new ScriptEngineManager();
return manager.getEngineByName("JavaScript");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: