代码之家  ›  专栏  ›  技术社区  ›  Shane

在javax.script中加载javascript库?

  •  0
  • Shane  · 技术社区  · 15 年前

    Protovis 从Java中获取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> 
    

    1 回复  |  直到 15 年前
        1
  •  1
  •   Pointy    15 年前

    那你为什么不把整个剧本放进去交给我呢 eval() ? 如果希望Javascript执行上下文解析和解释库,那么 某物 <script> 你举了个例子,但结果完全一样。

    我不明白你对犀牛的评论。jdk1.6中的Javascript解释器 犀牛。