java脚本引擎Rhino 入门
一、JAVA脚本引擎
Rhino
是一种使用 Java 语言编写的 JavaScript 的开源实现,原先由Mozilla开发,现在被集成进入JDK 6.0; 让JAVA的动态性得到更充分的体现,某些时候可以更加灵活的应对需求的变化。
二、脚本引擎描述
使得 Java 应用程序可以通过一套固定的接口与各种 脚本引擎 交互,从而达到在 Java 平台上调用各种脚本语言的 目的 。Java 脚本 API
是连通 Java
平台和 脚本语言
的 桥梁 。可以把一些复杂异变的业务逻辑交给脚本语言处理,提高了开发效率。Java
可以使用各种不同的实现,从而通用的调用js
、 groovy
、python
等脚本;最终实现脚本语言与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 入门相关推荐
- Java 脚本引擎 Rhino的学习
转自 https://www.cnblogs.com/huang-changfan/p/10129518.html java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的 ...
- java rhino 下载_8.4(Java学习笔记)java脚本引擎(Rhino)
一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为Sc ...
- java 脚本引擎执行javascript脚本
java脚本引擎是从JDK6.0之后添加的新功能,语法使用Rhino. public class ScriptTest {public static void main(String args[]) ...
- Java 脚本引擎的使用
文章目录 1. 前言 2. 脚本引擎的使用 2.1 脚本参数传递 2.2 脚本编译 2.3 脚本动态调用 1. 前言 Java 6 版本就已经引入了 Rhino 引擎用以支持脚本代码运行,而从 Jav ...
- Java脚本引擎执行js代码以及动态编译
Java脚本引擎执行js代码 一.概述 JAVA脚本引擎是从JDK6.0之后添加的新功能. 使得 Java 应用程序可以通过一套固定的接口与各种脚本引擎交互,从 而达到在 Java 平台上调用各种脚本 ...
- java fel_Java表达式引擎fel/groovy/expression4j/java脚本引擎的性能对比【原创】
又是性能对比,最近跟性能较上劲了. 产品中需要用到数学表达式,表达式不复杂,但是对性能要求比较高.选用了一些常用的表达式引擎计算方案,包含:java脚本引擎(javax/script).groovy脚 ...
- java 脚本引擎性能_Java SE 6 入门之脚本引擎加大程序性能
Java SE 6 入门之脚本引擎加大程序性能 Java SE 6较Java SE5有了很大的改进,它的性能更强,而且是专为Vista所设计,这就象征着Java SE 6将是Vista上的最佳抉择.而 ...
- java rhino 运行 js_java 脚本引擎Rhino执行js代码和文件
测试js脚本引擎 public class helloworld { public static void main(String[] args) throws Exception { //获得脚本引 ...
- 【Java脚本引擎】脚本引擎执行JavaScript代码
应用场景 公司有30员工,每个人工资计算方式不同.现在需要计算工资. 传统的方法:一个接口,30个实现类. 使用脚本引擎:编写一个xml文件,每人一个计算公式,使用的时候可以把公式加载到程序中,启动时 ...
- 1.11. java 脚本引擎
什么是脚本引擎,脚本引擎是指在程序运行期间嵌入另一种脚本语言,并与其交互,产生最终运行结果 脚本引擎存在的意义是什么?脚本引擎可以改变编译语言的内部运行逻辑,弥补编译语言的不足,使编译语言具备动态语言 ...
最新文章
- 独家 | 利用AI进行高精度图像编辑︰EditGAN(附链接)
- linux内核参数优化
- linux内核红宝书,Solaris 10红宝书 9.3
- strcpy会覆盖原来的吗_幽默你真的会了吗?原来可以这么简单
- 如何让浮动的元素换行??css
- 解析搜索引擎的Robots协议
- MySQL 高级SQL语句
- 【Unity3D】Photon环境搭建
- MATLAB中cfl,教程合集 | MATLAB绘图基本操作与属性
- 勘测定界界址点坐标交换格式的读写
- android 获取经纬度的三种方法,Android中如何获取经纬度
- java 找不到符号 con_Java,找不到符号:奇怪
- 【渝粤教育】国家开放大学2018年春季 7403-22T素质与思想政治教育 参考试题
- 作为技术人员,我是如何安排学习的
- LeetCode部分刷题笔记!!!JavaScript!!!
- bypass分流抢票(火车、高铁)
- 【RuoYi-Vue-Plus】学习笔记 42 - Easy Excel(二)Excel 2007(*.xlsx)导入流程分析(源码)
- 开发人员真实编写的骚注释,你学废了么?
- Js Event Loop
- mybatis plus 格式话_MyBatisPlus学习整理(二)