首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java应用程序中的env.rhino.js和Rhino -在哪里可以找到Envjs?

Java应用程序中的env.rhino.js和Rhino -在哪里可以找到Envjs?
EN

Stack Overflow用户
提问于 2013-03-20 02:19:08
回答 3查看 4.3K关注 0票数 3

我正在尝试在java应用程序中运行envjs和Rhino,以使用D3.js呈现SVG。

到目前为止,我可以使用Rhino评估较小的函数,但是当涉及到设置envjs时,问题就开始了。最重要的是,envjs的唯一教程讨论了一个名为env.rhino.js的文件。但是我不知道在哪里可以找到它。

有人能帮我吗?

(是的,google显示了一些结果,但它们不是Rhino或envjs的正式成员)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-09 20:19:35

首先,下载env.rhino.js

然后,使用以下Java代码启动Rhino实例并加载Env.js:

代码语言:javascript
复制
import org.mozilla.javascript.Context;
import org.mozilla.javascript.tools.shell.Global;
import org.mozilla.javascript.tools.shell.Main;

Context cx = Context.enter();
Global scope = new Global(cx);
cx.setOptimizationLevel(-1); 
cx.setLanguageVersion(Context.VERSION_1_5);

现在,您可以加载并运行JavaScript文件(使用其绝对文件系统路径)

代码语言:javascript
复制
Main.processFile(cx, scope, ABSOLUTE_PATH_TO_SOME_JAVASCRIPT_FILE);

和/或评估JavaScript代码并获得其字符串结果

代码语言:javascript
复制
(String)cx.evaluateString(scope, "alert('Its WORKING!')", "js", 1, null);
票数 2
EN

Stack Overflow用户

发布于 2013-08-02 19:47:00

我知道这个答案已经很晚了。但是我想做同样的事情,并且遇到了同样的问题--也许这会对下一步有所帮助。花了一段时间才弄清楚env-js上的数百个github分支中的哪一个可以完成这项工作。我发现这个组合适用于一个简单的测试:

代码语言:javascript
复制
git clone https://github.com/thatcher/envjs-site.git
#note the different fork!
wget https://raw.github.com/thatcher/env-js/master/src/dom/sizzle.js 
wget http://d3js.org/d3.v3.min.js

java -jar dist/env-js-1.1.jar
load("lib/env.rhino.js");
load("sizzle.js");
load("d3.v3.min.js");
d3.select("body").append("svg").selectAll("line").data([1,2]).enter().append("line").attr("x1", function(d){return d;});
document.innerHTML;

<html><head/><body><line/><line/><svg xmlns="http://www.w3.org/2000/svg"><line x1="1"/><line x1="2"/></svg></body><line/><line/></html>

J

票数 3
EN

Stack Overflow用户

发布于 2013-04-13 05:03:47

我确实尝试过这样做,但不能走得太远。我还想在服务器端生成SVG,从java(在我的例子中是Glassfish)发起请求。唯一能做到这一点的方法是使用jsdom & Node.js。我能够成功地做到这一点。遗憾的是,除了Node.js + jsdom之外,似乎没有其他方法可以做到这一点。

一旦你让它工作了,如果你试图用SVG生成请求来大量加载Node.js,就会潜伏着更大的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15507419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档