package co.test;
import java.io.FileReader;
import java.io.LineNumberReader;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Function;
import org.mozilla.javascript.Scriptable;
public class JSExploration
{
private Context cx;
private Scriptable scope;
public JSExploration()
{
this.cx = Context.enter();
this.scope = cx.initStandardObjects();
}
public Object runJavaScript(String filename)
{
String jsContent = this.getJsContent(filename);
Object result = cx.evaluateString(scope, jsContent, filename, 1, null);
return result;
}
private String getJsContent(String filename)
{
LineNumberReader reader;
try
{
reader = new LineNumberReader(new FileReader(filename));
String s = null;
StringBuffer sb = new StringBuffer();
while ((s = reader.readLine()) != null)
{
sb.append(s).append("\n");
}
return sb.toString();
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
public Scriptable getScope()
{
return scope;
}
public static void main(String[] args)
{
String filename = System.getProperty("user.dir") + "/jsmap.js";
JSExploration jsExploration = new JSExploration();
Object result = jsExploration.runJavaScript(filename);
Scriptable scope = jsExploration.getScope();
Function sum = (Function) scope.get("sum", scope);
Function isPrime = (Function)sum.call(Context.getCurrentContext(), scope, sum, new Object[] {2,8});
Object ss = isPrime.call(Context.getCurrentContext(), sum, isPrime, new Object[] {2,8});
System.out.println(Context.toString(ss));
}
}
function sum(x, y) {
// this.formulaeObject = null;
// this.formulaeObject["vager"] = function (c, d) {
// return (c + d)/2;
// };
var vager = 1000;
return function (x,y){return x + y + vager;} ;
}
分享到:
相关推荐
Rhino脚本引擎是JavaScript的一个开源实现,它能够运行JavaScript风格的脚本代码,并且可以通过这个引擎调用Java语言编写的方法。Rhino脚本引擎可以嵌入Java应用程序中执行,其最大的特点是脚本的修改不需要重启Java...
1. Rhino引擎:Rhino引擎是一个JavaScript解析引擎,可以解析JavaScript脚本并生成网页信息。 2. 低侵入式设计方法:低侵入式设计方法是一种设计方法,旨在提高Rhino引擎的性能和可扩展性。 3. DOM树:DOM树是一种...
Rhino_Debugger Rhino引擎的JS调试工具 直接可运行Jar
Rhino的jar包。 Rhino 是开源的 JavaScript 引擎,是完全基于 Java 实现,几乎可以使用 JavaScript 完成 Java 所有的工作。
Java运行JavaScript脚本引擎Rhino是一个强大的工具,它允许Java应用程序执行JavaScript代码并利用JavaScript的灵活性和动态性。Rhino是Mozilla基金会开发的一个开源项目,它完全用Java编写,因此可以无缝集成到Java...
Rhino,全称为Mozilla Rhino,是一款由Mozilla基金会开发的JavaScript引擎,它以Java语言实现,因此具有很高的可移植性。Rhino在JavaScript的世界里扮演着重要角色,因为它将JavaScript的动态性和灵活性带入了Java...
标题 "Pure JS (6.2):结合 Rhino 和 Junit GUI 测试 JS" 提到的是一个关于使用纯JavaScript(Pure JS)与Rhino JavaScript引擎以及JUnit进行图形用户界面(GUI)测试的实践方法。Rhino是Mozilla基金会开发的一个...
Rhino项目的起源可以追溯到1997年,当时Netscape计划开发一个纯Java版本的Navigator浏览器,并因此需要一个用Java实现的JavaScript引擎——即“Javagator”。这便是Rhino的前身。最初,Rhino通过将JavaScript编译成...
首先,Rhino作为一个JavaScript引擎,它的主要职责是解析和执行JavaScript代码。它支持ECMAScript标准,并且具有高效的性能,特别适合在Java应用中执行JavaScript。Rhino还提供了一些用于调试的功能,如错误处理、源...
在Rhino JavaScript引擎中使用字节数组 注意 由该代码制成的字节数组可以与Java中的字节数组不同,但它似乎可以像Java字节数组一样完美地工作。 用 let b = ( new ByteArray ( size ) ) . init ( ) ;
《深入浅出Rhino:Java与JS互操作》是一本专注于探讨如何在Java环境中使用Rhino JavaScript引擎进行交互的书籍。Rhino是Mozilla基金会开发的一个开源JavaScript解释器,它完全用Java编写,使得JavaScript能够在Java...
Rhino,由Mozilla基金会开发,就是这样一个JavaScript引擎,它允许Java程序直接执行JavaScript代码。本篇文章将深入探讨如何在Java项目中使用Rhino来执行JavaScript,并展示从Java调用JavaScript函数以及从...
Rhino是Mozilla开发的一个开源JavaScript引擎,它允许JavaScript在Java平台上运行,而Rhino Shell则是一个命令行工具,可以用来交互式地执行JavaScript脚本。Debugger则是用于检查和优化代码的工具,这对于理解和...
这是因为Java提供了一个名为Rhino或Nashorn的JavaScript引擎,它们允许Java代码执行JavaScript脚本。Rhino是早期的JavaScript引擎,而Nashorn是Java 8引入的一个更现代的选项,尽管在Java 11中已被废弃。这些引擎为...
Rhino,一个在Java平台上广泛使用的开源JavaScript引擎,是Mozilla基金会的一个重要项目。这个强大的工具为开发者提供了用JavaScript编写Java应用程序的可能性,极大地扩展了JavaScript的应用领域。Rhino 17_3 版本...
Rhino就是JavaScript引擎,它的目的就是实现Java与JavaScript的互操作性。rhino-1.7R1.jar Envjs一个纯js方式在无浏览器环境下模拟浏览器的行为。envjs-1.2.js 一般网站js中都会用到jauery,所以还用了jauery.js
首先,"org.mozilla.javascript-1.7.2.jar"是Mozilla的Rhino JavaScript引擎的一个版本。Rhino是一个开源的JavaScript解释器,由Mozilla基金会维护,它允许JavaScript代码在Java平台上运行。Rhino以其高效的性能和...
Mozilla的JavaScript引擎,也称为Rhino,是一个开源的JavaScript解释器,由Mozilla基金会开发并维护。Rhino是基于Java平台的,能够直接运行在Java虚拟机(JVM)上,使得JavaScript代码能够与Java代码无缝集成。Rhino...
Rhino 是开源的 JavaScript 引擎,是完全基于 Java 实现,几乎可以使用 JavaScript 完成 Java 所有的工作。 官网网址:https://developer.mozilla.org/zh-CN/docs/Mozilla/Projects/Rhino/Download_Rhino