我想从Java运行 Protovis JavaScript和获得评估SVG代码。我使用的javax.script *运行的Javascript:

public static void EvalScript() throws Exception {
    ScriptEngineManager factory = new ScriptEngineManager();
    ScriptEngine engine = factory.getEngineByName("JavaScript");
    Object result = engine.eval("var vis = new pv.Panel().width(300).height(300)
        .add (pv.Line).data ([1,0.5, 0.1, 0.01, 0.001, 0.3, 0.2,0.1,1])
           .left (function () { return this.index * 30; })
           .bottom (function (d) { return d * 250; });
        vis.root.render();
        vis.scene[0].canvas.innerHTML;");         
    System.out.println(result);
}

这会抱怨因为我不会装载Protovis本身,通常会与

完成
<script type="text/javascript" src="../protovis-r3.1.0.js"></script> 

有没有一种好方法,短期的采购在充分的Javascript到的eval()命令,通过javax.script中运行的JavaScript加载时库的?

有帮助吗?

解决方案

那么,为什么你会不会加载整个脚本,并把它交给eval()?如果您希望JavaScript执行等方面来分析和解释库,然后的的东西的有做到这一点。当然,你可以提供一个机制,在脚本上下文让脚本本身做相当于你给<script>标签例子,但它最终会被完全一样的东西。

我不明白您对犀牛评论。 JavaScript解释在JDK 1.6 就是犀牛。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top