首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏从码农的全世界路过

    JAVA ScriptEngine 引擎

    void hello() throws ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); //ScriptEngine engine = manager.getEngineByExtension ("js"); //ScriptEngine engine = manager.getEngineByMimeType("text/javascript"); engine.eval("print testBinding() throws ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine throws IOException, ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine

    2.6K10编辑于 2022-06-27
  • 来自专栏信数据得永生

    Jurassic.ScriptEngine 简易示例

    到官网(http://jurassic.codeplex.com/releases)下载最新版本的Jurassic.ScriptEngine Dll。 2. 最开始要创建一个脚本对象 ScriptEngine sc = new ScriptEngine(); 1.

    76140发布于 2019-02-15
  • 来自专栏Nicky's blog

    JDK8系列之JavaScript引擎Nashorn

    (scriptEngine.eval(foo)); } } 可以利用ScriptEngine对js进行执行,然后通过Hutool转为javabean private static scriptEngine = engineManager.getEngineByName("JavaScript"); Object obj = scriptEngine.eval(script scriptEngine = engineManager.getEngineByName("JavaScript"); scriptEngine.eval(reader); scriptEngine = engineManager.getEngineByName("JavaScript"); scriptEngine.eval(script); (); bindings.put("username","admin"); scriptEngine.eval("print('hello , ' + username);"

    1.9K30编辑于 2022-09-21
  • 来自专栏Netkiller

    java 脚本引擎

    engine = manager.getEngineByName("JavaScript"); // ScriptEngine engine = manager.getEngineByExtension ("js"); // ScriptEngine engine = manager.getEngineByMimeType("text/javascript"); engine.eval("print engine = manager.getEngineByExtension("js"); // ScriptEngine engine = manager.getEngineByMimeType( 全局变量与局部变量定义 ScriptContext.GLOBAL_SCOPE 作用于 ScriptEngineManager, ScriptContext.ENGINE_SCOPE 作用于 ScriptEngine 调用脚本中的函数或方法 package javascript; import javax.script.Invocable; import javax.script.ScriptEngine; import

    2.1K50发布于 2018-03-05
  • 来自专栏Java成神之路

    Java_脚本引擎_01_用法入门

    ScriptEngineManager sets this * Bindings as global bindings for ScriptEngine< * @param shortName The short name of the ScriptEngine implementation. * @return A ScriptEngine created by the factory located in the search. 4.ScriptEngine  ScriptEngine提供了如下接口, ? 抽象类AbstractScriptEngine实现了ScriptEngine的部分基本方法。 ? 脚本引擎实际的执行者 NashornScriptEngine 继承自 AbstractScriptEngine 实现了 ScriptEngine的全部方法,功能强大。

    1.7K40发布于 2018-08-10
  • 来自专栏后端架构

    java解析表达式Jexl

    导论 接着就找到了脚本引擎java自带的ScriptEngine,Java自带的ScriptEngine是一个灵活的工具,可以用来执行不同的脚本语言,包括JavaScript、Python等。 以下是一些ScriptEngine的总结: ScriptEngine支持多种脚本语言,包括JavaScript、Python等,通过设置不同的脚本引擎可以执行不同的脚本语言。 在执行脚本之前,需要先创建ScriptEngine对象,并且指定所需要的脚本引擎。 ScriptEngine可以解析并执行字符串、文件等各种类型的脚本,执行的结果可以获取并处理。 通过调用ScriptEngine的eval方法可以执行脚本。 在使用ScriptEngine时需要注意脚本语言的语法及执行环境的安全性,避免脚本中出现恶意代码。

    1.5K31编辑于 2023-10-25
  • 来自专栏跟着阿笨一起玩NET

    C# 解析js方法,并调用js方法

    封装成ScriptEngine类。 类 /// public class ScriptEngine { private ScriptControl 假如有个js方法: function add(var a){return a+1;} 通过上面的ScriptEngine类调用 js:add 方法 ******************** ************************************************* //声明是Javascript方法 script_run.ScriptEngine myScript = new script_run.ScriptEngine(script_run.ScriptLanguage.JavaScript); //js字符串 string javascriptString

    7.3K41发布于 2018-09-19
  • 来自专栏王二麻子IT技术交流园地

    使用javax.script包实现Java设置JS脚本中的变量

    下面例子中,我们通过javax.script包ScriptEngine.put()方法设置JS脚本中的变量,JS把所有在线用户输出。 1package ajava.code.javase; 2import javax.script.ScriptEngineManager; 3import javax.script.ScriptEngine ; "; 21       //获得JS脚本引擎 22       ScriptEngineManager manager = new ScriptEngineManager(); 23       ScriptEngine

    1.2K20编辑于 2023-07-18
  • 来自专栏腾讯云Elasticsearch Service

    ES 脚本实现

    其内部逻辑主要包括: 获取脚本语言对应的脚本执行引擎ScriptEngine 查询缓存的脚本。 若不存在,则使用ScriptEngine重新编译脚本 ScriptEngine ScriptService类内部封装了用于执行不同脚本语言的执行引擎ScriptEngine,实现类包括PainlessScriptEngine 在ScriptService中会调用相应语言ScriptEngine的compile方法,以下为PainlessScriptEngine的compile方法实现: image-20190704222035439

    8.2K42发布于 2019-07-04
  • 来自专栏石的三次方

    Java执行js加密算法

    java对脚本的支持全部存放于javax.script包下 接口: Bindlings Compilable Invocable ScriptContext ScriptEngine ,Invocable ScriptEngineManager 为 ScriptEngine 类实现一个发现和实例化机制,还维护一个键/值对集合来存储所有 Manager 创建的引擎所共享的状态。 键/值对的 Bindings(即由管理器维护的 "Global Scope")对于 ScriptEngineManager 创建的所有 ScriptEngine 实例都是可用的。 ——JDK官方解释 我们通过ScriptEngineManager获取指定脚本语言的执行引擎(ScriptEngine),然后调用eval()执行脚本代码,再加该脚本引擎转换为Invocable接口,该接口由 ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); //获取指定脚本的引擎管理器 ScriptEngine

    3.4K10发布于 2021-01-05
  • 来自专栏大前端(横向跨端 & 纵向全栈)

    Auto.js中的脚本引擎

    脚本引擎对象-ScriptEngine 1. 停止脚本引擎的执行; ScriptEngine.forceStop() 2. 获取脚本执行的路径; ScriptEngine.cwd() 3. 获取脚本引擎正在执行的脚本对象; ScriptEngine.getSource() var executionObject = engines.execScriptFile('/sdcard/脚本/script.js // ScriptEngine.emit(eventName,[...args]) // 运行脚本 var obj = engines.execScriptFile("/sdcard/脚本/script.js

    2.8K20编辑于 2022-08-20
  • 来自专栏Java开发者杂谈

    JDK1.7新特性(3):java语言动态性之脚本语言API

    ; 9 import javax.script.Invocable; 10 import javax.script.ScriptContext; 11 import javax.script.ScriptEngine simpleScriptEngine = new SimpleScriptAPI(); 25 26 // Part 1: 通用的脚本引擎用法 27 ScriptEngine context.getAttribute("name")); // Bob 71 // ScriptContext的setbindings方法设置的语言绑定对象会影响到ScriptEngine 72 // ScriptEngine的put和get方法所操作的实际上就是ScriptContext中作用域为ENGINE_SCOPE的语言绑定对象。 如果在ScriptEngine的eval中没有 74 // 指明所使用的语言绑定对象,实际上起作用的是ScriptContext中作用域为ENGINE_SCOPE的语言绑定对象。

    1.3K100发布于 2018-03-14
  • 来自专栏码匠的流水账

    聊聊maxwell的Scripting

    ScriptObjectMirror processRowFunc, processHeartbeatFunc, processDDLFunc; private ScriptObjectMirror getFunc(ScriptEngine ScriptException, NoSuchMethodException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine processRowFunc.call(null, new WrappedRowMap(row)); } private static ThreadLocal<ScriptEngine processRowFunc、processHeartbeatFunc、processDDLFunc属性;其构造器接收filename参数,它创建ScriptEngineManager,然后获取名为nashorn的ScriptEngine processRowFunc、processHeartbeatFunc、processDDLFunc属性;其构造器接收filename参数,它创建ScriptEngineManager,然后获取名为nashorn的ScriptEngine

    53220发布于 2020-05-16
  • 来自专栏Java技术进阶

    一文了解微服务低代码实现方式

    • Invocable 由具体的脚本引擎实现,其允许调用先前已执行的脚本 • ScriptContext 脚本引擎上下文,用于将应用程序与脚本引擎进行绑定 • ScriptEngine 由具体的脚本引擎实现 ,定义了执行脚本的方法、键值对映射关系、脚本引擎上下文 • ScriptEngineFactory 脚本引擎工厂,每一个ScriptEngine都有一个对应的工厂。 ,提供了ScriptEngine的标准实现 • CompiledScript 由存储编译结果的类扩展。 每个CompiledScript都与一个ScriptEngine相关联,调用CompiledScript的eval方法会导致ScriptEngine执行 • ScriptEngineManager 脚本引擎管理器,提供ScriptEngine的实例化机制,并维护了一些键/值对集合,供所有创建的ScriptEngine共享使用 • SimpleBindings 使用HashMap 或者其他Map

    1.7K20编辑于 2022-12-02
  • 来自专栏github@hornhuang

    Android-计算器GridLayout

    ,我们可以直接调用它的方法,求得TextView上计算式的值 ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("nashorn"); String expression = tv.getText().toString ; try { String result = String.valueOf(scriptEngine.eval(expression)); System.out.println(result

    99730发布于 2021-09-24
  • 来自专栏有困难要上,没有困难创造困难也要上!

    Java 中使用 JavaScript Nashorn 引擎

    public class TestNashorn { public static void main( String args[] ) throws Exception { ScriptEngine public class TestNashorn { public static void main( String args[] ) throws Exception { ScriptEngine public class TestNashorn { public static void main( String args[] ) throws Exception { ScriptEngine public class TestNashorn { public static void main( String args[] ) throws Exception { ScriptEngine

    89310编辑于 2024-10-10
  • 来自专栏码匠的流水账

    聊聊maxwell的Scripting

    ScriptObjectMirror processRowFunc, processHeartbeatFunc, processDDLFunc; ​ private ScriptObjectMirror getFunc(ScriptEngine ScriptException, NoSuchMethodException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine processRowFunc.call(null, new WrappedRowMap(row)); } ​ private static ThreadLocal<ScriptEngine processRowFunc、processHeartbeatFunc、processDDLFunc属性;其构造器接收filename参数,它创建ScriptEngineManager,然后获取名为nashorn的ScriptEngine processRowFunc、processHeartbeatFunc、processDDLFunc属性;其构造器接收filename参数,它创建ScriptEngineManager,然后获取名为nashorn的ScriptEngine

    67100发布于 2020-05-10
  • 来自专栏Java编程技术

    Dubbo剖析-增强SPI的实现

    比如:JDK 标准的ScriptEngine,如果Ruby ScriptEngine 因为所依赖的 jruby.jar 不存在,导致 Ruby ScriptEngine 类加载失败,这个失败原因被吃掉了 ,当用户执行 ruby 脚本时,会报空指针异常,而不是报Ruby ScriptEngine不存在。

    66010发布于 2018-09-06
  • 来自专栏码匠的流水账

    聊聊PowerJob的Evaluator

    GroovyEvaluator.java@Slf4j@Componentpublic class GroovyEvaluator implements Evaluator { private static final ScriptEngine input); return ENGINE.eval(expression, bindings); }}GroovyEvaluator实现了Evaluator,它内置了一个groovy的ScriptEngine PowerJob的Evaluator接口定义了evaluate方法,它有expression和input两个参数,返回计算结果;GroovyEvaluator实现了Evaluator,它内置了一个groovy的ScriptEngine

    28810编辑于 2024-01-12
  • 来自专栏Java学习资料

    利用ScriptEngineManager实现字符串公式灵活计算

    我们可以利用这个特性对计算实现简单化的处理  下面举个例子 例如有个公式  A+B*C  其中A=1,B=2,C=3 我们可以将公式的A B C替换成数字 转换为 1+2*3 最后就可以得到结果了 刚刚接触到ScriptEngine         ScriptEngineManager manager = new ScriptEngineManager();   //创建一个ScriptEngineManager对象         ScriptEngine engine = manager.getEngineByName("js");  //通过ScriptEngineManager获得ScriptEngine对象         engine.put( className, stu);  //将student对象放到ScriptEngine 中为计算变量提供值         try {             //result =engine.eval (formula);  //1 用ScriptEngine的eval方法执行脚本  String formula="Student.name+Student.age+10";            

    2.1K00发布于 2019-01-22
领券