本文整理了Java中javax.script.ScriptEngineManager
类的一些代码示例,展示了ScriptEngineManager
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ScriptEngineManager
类的具体详情如下:
包路径:javax.script.ScriptEngineManager
类名称:ScriptEngineManager
暂无
代码示例来源:origin: stackoverflow.com
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
// read script file
engine.eval(Files.newBufferedReader(Paths.get("C:/Scripts/Jsfunctions.js"), StandardCharsets.UTF_8));
Invocable inv = (Invocable) engine;
// call function from script file
inv.invokeFunction("yourFunction", "param");
代码示例来源:origin: looly/hutool
/**
* 构造
*
* @param nameOrExtOrMime 脚本名或者脚本语言扩展名或者MineType
*/
public FullSupportScriptEngine(String nameOrExtOrMime) {
final ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName(nameOrExtOrMime);
if (null == engine) {
engine = manager.getEngineByExtension(nameOrExtOrMime);
}
if (null == engine) {
engine = manager.getEngineByMimeType(nameOrExtOrMime);
}
if (null == engine) {
throw new NullPointerException(StrUtil.format("Script for [{}] not support !", nameOrExtOrMime));
}
this.engine = engine;
}
代码示例来源:origin: kiegroup/jbpm
protected DataTransformerRegistry() {
this.registry = new ConcurrentHashMap<String, DataTransformer>();
this.registry.put("http://www.mvel.org/2.0", new MVELDataTransformer());
ScriptEngineManager manager = new ScriptEngineManager();
List<ScriptEngineFactory> factories = manager.getEngineFactories();
for (ScriptEngineFactory factory : factories) {
DataTransformer transformer = new JavaScriptingDataTransformer(factory);
for (String name : factory.getNames()) {
String key = "http://www.java.com/"+name;
registry.put(key, transformer);
logger.debug("Registered scripting language {} with instance {}", key, transformer);
}
}
}
代码示例来源:origin: spring-projects/spring-framework
@Override
public void setBeanClassLoader(ClassLoader classLoader) {
ScriptEngineManager scriptEngineManager = this.scriptEngineManager;
if (scriptEngineManager == null) {
scriptEngineManager = new ScriptEngineManager(classLoader);
this.scriptEngineManager = scriptEngineManager;
Bindings bindings = this.globalBindings;
if (bindings != null) {
scriptEngineManager.setBindings(bindings);
}
}
}
代码示例来源:origin: stackoverflow.com
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
public class Test {
public static void main(String[] args) throws Exception{
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String foo = "40+2";
System.out.println(engine.eval(foo));
}
}
代码示例来源:origin: looly/hutool
/**
* 获得 {@link ScriptEngine} 实例
*
* @param name 脚本名称
* @return {@link ScriptEngine} 实例
*/
public static ScriptEngine getScript(String name) {
return new ScriptEngineManager().getEngineByName(name);
}
代码示例来源:origin: lenskit/lenskit
ScriptEngineManager sem = new ScriptEngineManager();
File scriptFile = options.get("script");
String ext = Files.getFileExtension(scriptFile.getName());
ScriptEngine seng = sem.getEngineByExtension(ext);
logger.info("running {} with engine {}", scriptFile, seng);
SimpleBindings bindings = new SimpleBindings();
bindings.put("args", options.<List<String>>get("args"));
bindings.put("recommender", rec);
try (Reader reader = new FileReader(scriptFile)) {
seng.eval(reader, bindings);
} catch (IOException e) {
throw new LenskitCommandException("error loading script file", e);
代码示例来源:origin: apache/accumulo
ScriptEngineManager mgr = new ScriptEngineManager();
engineName = cl.getOptionValue(engine.getOpt());
ScriptEngine engine = mgr.getEngineByName(engineName);
if (engine == null) {
shellState.printException(new Exception(engineName + " not found"));
Bindings b = engine.getBindings(ScriptContext.ENGINE_SCOPE);
putConnector(b, shellState.getAccumuloClient());
b.put("client", shellState.getAccumuloClient());
ctx.setBindings(b, ScriptContext.ENGINE_SCOPE);
Object[] argArray = argValues.toArray(new Object[argValues.size()]);
File f = new File(cl.getOptionValue(out.getOpt()));
writer = new FileWriter(f);
ctx.setWriter(writer);
return 1;
engine.eval(inlineScript, ctx);
if (invoke) {
this.invokeFunctionOrMethod(shellState, engine, cl, argArray);
代码示例来源:origin: stackoverflow.com
public static String md2html() throws ScriptException, FileNotFoundException, NoSuchMethodException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
File functionscript = new File("public/lib/marked.js");
Reader reader = new FileReader(functionscript);
engine.eval(reader);
Invocable invocableEngine = (Invocable) engine;
Object marked = engine.get("marked");
Object lexer = invocableEngine.invokeMethod(marked, "lexer", "**hello**");
Object result = invocableEngine.invokeMethod(marked, "parser", lexer);
return result.toString();
}
代码示例来源:origin: stackoverflow.com
String javaScriptExpression = "sayHello(name);";
Reader javaScriptFile = new StringReader(
"function sayHello(name) {\n"
+ " println('Hello, '+name+'!');\n" + "}");
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory
.getEngineByName("JavaScript");
ScriptContext context = engine.getContext();
context.setAttribute("name", "JavaScript",
ScriptContext.ENGINE_SCOPE);
engine.eval(javaScriptFile);
engine.eval(javaScriptExpression);
代码示例来源:origin: jphp-group/jphp
@Test
public void testVariableGet() throws Exception {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("jphp");
engine.eval("<?php $baz = 'test value';");
Assert.assertEquals("test value", engine.get("baz").toString());
}
代码示例来源:origin: RaiMan/SikuliX2
private boolean runJS() {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
String scriptBefore =
"var Do = Java.type('com.sikulix.api.Do');\n" +
"var SX = Java.type('com.sikulix.core.SX');\n" +
"log = SX.getSXLog(\"SX.JAVASCRIPTRUNNER\");\n";
if (withTrace) {
scriptBefore += "log.on(SX.TRACE);\n";
}
String scriptText = scriptBefore;
scriptText += script;
log.trace("%s: running script %s", ScriptType.JAVASCRIPT, scriptName);
if (withTrace) {
log.p(script);
log.p("---------- end of script");
}
Object returned = null;
try {
returned = engine.eval(scriptText);
} catch (ScriptException e) {
log.trace("%s: error: %s", ScriptType.JAVASCRIPT, e.getMessage());
returnObject = new ReturnObject(false);
return false;
}
log.trace("%s: ending run", ScriptType.JAVASCRIPT);
returnObject = new ReturnObject(ScriptType.JAVASCRIPT, returned);
return true;
}
代码示例来源:origin: stackoverflow.com
import java.util.*;
import javax.script.*;
public class TestBindings {
public static void main(String args[]) throws Exception {
String script = "function doSomething() {var d = date}";
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
Compilable compilingEngine = (Compilable) engine;
CompiledScript cscript = compilingEngine.compile(script);
//Bindings bindings = cscript.getEngine().createBindings();
Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
for(Map.Entry me : bindings.entrySet()) {
System.out.printf("%s: %s\n",me.getKey(),String.valueOf(me.getValue()));
}
bindings.put("date", new Date());
//cscript.eval();
cscript.eval(bindings);
Invocable invocable = (Invocable) cscript.getEngine();
invocable.invokeFunction("doSomething");
}
}
代码示例来源:origin: wildfly/wildfly
protected Map<String,String> parseJsonResponse(String json) throws ScriptException
{
synchronized (scriptEngineLock)
{
if (scriptEngine == null)
{
scriptEngine = new ScriptEngineManager().getEngineByName("JavaScript");
if (scriptEngine == null) {
throw new RuntimeException("Failed to load JavaScript script engine");
}
}
Bindings bindings = new SimpleBindings();
bindings.put("json", json);
return (Map<String, String>)scriptEngine.eval(JSON_RESPONSE_PARSING_SCRIPT, bindings);
}
}
}
代码示例来源:origin: jphp-group/jphp
@Test
public void testBase() {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("jphp");
ScriptEngineFactory f = engine.getFactory();
Assert.assertNotNull(engine);
Assert.assertTrue(engine instanceof Compilable);
Assert.assertNotNull(f);
Assert.assertEquals(Information.NAME, f.getEngineName());
Assert.assertEquals("php", f.getLanguageName());
}
代码示例来源:origin: jphp-group/jphp
@Test
public void testVariableSet() throws Exception {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("jphp");
engine.put("foo", "bar");
Object value = engine.eval("<?php return $foo;");
Assert.assertEquals("bar", value.toString());
}
代码示例来源:origin: stackoverflow.com
import javax.script.*;
public class ScriptRunner {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn");
String scriptName = args[0];
Bindings bindings = nashorn.createBindings();
bindings.put("scriptFileName", scriptName);
nashorn.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
nashorn.eval("load('src/main/resources/javascript/' + scriptFileName)");
}
代码示例来源:origin: stackoverflow.com
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
for (ScriptEngineFactory factory : manager.getEngineFactories()) {
System.out.printf("language: %s, engine: %s%n", factory.getLanguageName(), factory.getEngineName());
}
ScriptEngine engine = manager.getEngineByName("SQL");
try {
Object result = engine.eval("SELECT 1+2;");
} catch (ScriptException ex) {
Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
}
}
代码示例来源:origin: stackoverflow.com
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
ScriptContext ctx = new SimpleScriptContext();
ctx.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE);
engine.eval("function hello() { return 'Hello!'; }", ctx);
engine.setContext(ctx);
((Invocable) engine).invokeFunction("hello");
代码示例来源:origin: stackoverflow.com
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine se = mgr.getEngineByName("JavaScript");
try {
se.eval("var x;var a,b,c,d;var y = \"wow\";var z = y+'x';");
Bindings bindings = se.getBindings(ScriptContext.ENGINE_SCOPE);
System.out.println(bindings.keySet());
}
catch (ScriptException e) {
//e.printStackTrace();
}
内容来源于网络,如有侵权,请联系作者删除!