Tag: rhino

ReferenceError:未定义“alert”

我试图从java代码调用java脚本函数。 这是我的Java代码 public static void main(String[] args) throws FileNotFoundException { try { /** * To call a anonymous function from java script file */ ScriptEngine engine = new ScriptEngineManager() .getEngineByName(“javascript”); FileReader fr = new FileReader(“src/js/MySpec.js”); engine.eval(fr); } catch (ScriptException scrEx) { scrEx.printStackTrace(); } } 这是我的java脚本文件: (function() { alert(“Hello World !!!”); })(); 但是当我运行驱动程序类的main方法时,它给出了如下错误: Exception in thread […]

如何使用Rhino在Javascript中将Java类中的方法添加为全局函数?

我有一个简单的Java类,它有一些方法: public class Utils { public void deal(String price, int amount) { // …. } public void bid(String price, int amount) { // …. } public void offer(String price, int amount) { // …. } } 我想创建这个类的一个实例,并允许Javascript代码直接调用方法,如下所示: deal(“1.3736”, 100000); bid(“1.3735”, 500000); 我现在能想到的唯一方法就是使用 ScriptEngine engine = new ScriptEngineManager().getEngineByName(“js”); engine.put(“utils”, new Utils()); 然后在Javascript代码中使用utils.deal(…) 。 我也可以在Javascript中为每个方法编写包装函数,但应该有一种更简单的方法来自动为类的所有公共方法执行此操作。

Rhino:如何从Java调用JS函数

我正在使用Mozilla Rhino 1.7r2(不是JDK版本),我想从Java调用JS函数。 我的JSfunction是这样的: function abc(x,y) { return x+y } 我该怎么做呢? 编辑:( JS函数在一个单独的文件中)

如何将Rhino-JavaScript数组转换为Java-Arrays

我有以下内容: ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine jsEngine = mgr.getEngineByName(“JavaScript”); jsEngine.eval(“function getArray() {return [1,2,3,4,5];};”); Object result = jsEngine.eval(“getArray();”); 如何将sun.org.mozilla.javascript.internal.NativeArray类型的结果对象转换为相应的java数组? 可以告诉我一个有效的代码示例吗? 它应该适用于String和Integer数组。 另外,知道在哪里查找rhino引擎和java之间的其他数据类型转换会很棒。 顺便说一句, 我知道这个页面,但我真的在寻找一个有效的代码示例。

有没有人使用或编写过Ant任务来编译(Rhino)JavaScript到Java字节码?

我想使用Rhino JavaScript编译器将一些JavaScript编译为.class字节码文件,以便在项目中使用。 看起来这应该已经存在,因为Groovy,NetREXX(!)和Jython分别有groovyc,netrexxc和jythonc任务。 有没有人使用或编写过这样的Ant任务,或者任何人都可以提供一些如何写一个的提示? 理想情况下,它可以通过某种方式解决JavaScript或Java类之间的依赖关系。

从java代码调用外部javascript函数

通过使用Java Scripting API,我能够在Java中执行JavaScript。 但是,有人可以解释我需要添加到此代码中的内容,以便能够调用C中的函数:/Scripts/Jsfunctions.js import javax.script.*; public class InvokeScriptFunction { public static void main(String[] args) throws Exception { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName(“JavaScript”); // JavaScript code in a String String script1 = (String)”function hello(name) {print (‘Hello, ‘ + name);}”; String script2 = (String)”function getValue(a,b) { if (a===\”Number\”) return 1; else return […]