Java中如何通过语言名称和版本获取ScriptEngine?
本示例说明如何获取特定语言名称和特定语言版本的脚本引擎。在下面的代码中,我们尝试获取ECMAScriptversion的脚本引擎实例1.8。
package org.nhooo.example.script;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
import java.util.List;
public class ScriptEngineSearch {
public static void main(String[] args) {
String languageName = "ECMAScript";
String languageVersion = "1.8";
//创建一个ScriptEngineManager并获取可用列表
//发动机工厂。
ScriptEngineManager manager = new ScriptEngineManager();
List<ScriptEngineFactory> factories = manager.getEngineFactories();
//我们从可用的工厂那里获得了ScriptEngine,
//语言名称为ECMAScript,版本为1.6。
//ECMAScript是JavaScript编程的标准名称
//语言。如果找到所需的语言,我们将获得
//通过调用工厂的getScriptEngine()方法来实现ScriptEngine。
ScriptEngine engine = null;
for (ScriptEngineFactory factory : factories) {
String language = factory.getLanguageName();
String version = factory.getLanguageVersion();
if (language.equals(languageName)
&& version.equals(languageVersion)) {
engine = factory.getScriptEngine();
break;
}
}
if (engine != null) {
try {
engine.eval("println('Hello There')");
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
}
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短