一、JAVA脚本引擎

Rhino 是一种使用 Java 语言编写的 JavaScript 的开源实现,原先由Mozilla开发,现在被集成进入JDK 6.0; 让JAVA的动态性得到更充分的体现,某些时候可以更加灵活的应对需求的变化。


二、脚本引擎描述

使得 Java 应用程序可以通过一套固定的接口与各种 脚本引擎 交互,从而达到在 Java 平台上调用各种脚本语言的 目的 。Java 脚本 API 是连通 Java平台和 脚本语言 的 桥梁 。可以把一些复杂异变的业务逻辑交给脚本语言处理,提高了开发效率。Java可以使用各种不同的实现,从而通用的调用jsgroovypython 等脚本;最终实现脚本语言与java语言的数据交换。


三、API讲解

在线API

//获得脚本引擎
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByName("javascript");

ScriptEngine 中的接口方法

API 描述
put(String key, Object value) 设置 ScriptEngine 的状态中的键/值对
eval(…) 执行脚本

四、案例

package myRhino;import java.io.FileNotFoundException;import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;/***  Rhiro测试*/
public class MyRhino {public static void main(String[] args) throws ScriptException, NoSuchMethodException, FileNotFoundException {//获得脚本引擎ScriptEngineManager sem = new ScriptEngineManager();ScriptEngine engine = sem.getEngineByName("javascript");// 定义函数engine.eval("function add (a, b) {var sum = a + b; return sum; }");// 取得调用接口Invocable jsInvoke = (Invocable) engine;//执行脚本中定义的方法Object result1 = jsInvoke.invokeFunction("add", new Object[] { 13, 20 });System.out.println(result1);}}

后记

如果需要更深入了解,关注 Rhino

java脚本引擎Rhino 入门相关推荐

  1. Java 脚本引擎 Rhino的学习

    转自 https://www.cnblogs.com/huang-changfan/p/10129518.html java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的 ...

  2. java rhino 下载_8.4(Java学习笔记)java脚本引擎(Rhino)

    一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为Sc ...

  3. java 脚本引擎执行javascript脚本

    java脚本引擎是从JDK6.0之后添加的新功能,语法使用Rhino. public class ScriptTest {public static void main(String args[]) ...

  4. Java 脚本引擎的使用

    文章目录 1. 前言 2. 脚本引擎的使用 2.1 脚本参数传递 2.2 脚本编译 2.3 脚本动态调用 1. 前言 Java 6 版本就已经引入了 Rhino 引擎用以支持脚本代码运行,而从 Jav ...

  5. Java脚本引擎执行js代码以及动态编译

    Java脚本引擎执行js代码 一.概述 JAVA脚本引擎是从JDK6.0之后添加的新功能. 使得 Java 应用程序可以通过一套固定的接口与各种脚本引擎交互,从 而达到在 Java 平台上调用各种脚本 ...

  6. java fel_Java表达式引擎fel/groovy/expression4j/java脚本引擎的性能对比【原创】

    又是性能对比,最近跟性能较上劲了. 产品中需要用到数学表达式,表达式不复杂,但是对性能要求比较高.选用了一些常用的表达式引擎计算方案,包含:java脚本引擎(javax/script).groovy脚 ...

  7. java 脚本引擎性能_Java SE 6 入门之脚本引擎加大程序性能

    Java SE 6 入门之脚本引擎加大程序性能 Java SE 6较Java SE5有了很大的改进,它的性能更强,而且是专为Vista所设计,这就象征着Java SE 6将是Vista上的最佳抉择.而 ...

  8. java rhino 运行 js_java 脚本引擎Rhino执行js代码和文件

    测试js脚本引擎 public class helloworld { public static void main(String[] args) throws Exception { //获得脚本引 ...

  9. 【Java脚本引擎】脚本引擎执行JavaScript代码

    应用场景 公司有30员工,每个人工资计算方式不同.现在需要计算工资. 传统的方法:一个接口,30个实现类. 使用脚本引擎:编写一个xml文件,每人一个计算公式,使用的时候可以把公式加载到程序中,启动时 ...

  10. 1.11. java 脚本引擎

    什么是脚本引擎,脚本引擎是指在程序运行期间嵌入另一种脚本语言,并与其交互,产生最终运行结果 脚本引擎存在的意义是什么?脚本引擎可以改变编译语言的内部运行逻辑,弥补编译语言的不足,使编译语言具备动态语言 ...

最新文章

  1. 独家 | 利用AI进行高精度图像编辑︰EditGAN(附链接)
  2. linux内核参数优化
  3. linux内核红宝书,Solaris 10红宝书 9.3
  4. strcpy会覆盖原来的吗_幽默你真的会了吗?原来可以这么简单
  5. 如何让浮动的元素换行??css
  6. 解析搜索引擎的Robots协议
  7. MySQL 高级SQL语句
  8. 【Unity3D】Photon环境搭建
  9. MATLAB中cfl,教程合集 | MATLAB绘图基本操作与属性
  10. 勘测定界界址点坐标交换格式的读写
  11. android 获取经纬度的三种方法,Android中如何获取经纬度
  12. java 找不到符号 con_Java,找不到符号:奇怪
  13. 【渝粤教育】国家开放大学2018年春季 7403-22T素质与思想政治教育 参考试题
  14. 作为技术人员,我是如何安排学习的
  15. LeetCode部分刷题笔记!!!JavaScript!!!
  16. bypass分流抢票(火车、高铁)
  17. 【RuoYi-Vue-Plus】学习笔记 42 - Easy Excel(二)Excel 2007(*.xlsx)导入流程分析(源码)
  18. 开发人员真实编写的骚注释,你学废了么?
  19. Js Event Loop
  20. mybatis plus 格式话_MyBatisPlus学习整理(二)

热门文章

  1. 小熊派使SPI驱动TFT-LCD(ST7789)显示试验
  2. idv和vdi的优劣势_IDV和VDI区别
  3. 调整VirtualBox虚拟磁盘VDI文件空间大小
  4. redhat安装wine教程_Ubuntu20.04LTS安装搜狗输入法
  5. 专访平安科技方国伟:全面解读金融云中CaaS的技术选型
  6. 搭建企业级数据治理体系指南
  7. 租房需要注意些什么?
  8. 少数服从多数合理性的证明与证伪分析
  9. 电信设备商进入企业网市场需适应不同渠道模式(转载)
  10. 【Python学习】打印n位内从1到最大的整数