当前位置:  开发笔记 > 编程语言 > 正文

如何在Java中将.js文件加载到Rhino上下文中

如何解决《如何在Java中将.js文件加载到Rhino上下文中》经验,为你挑选了1个好方法。

这是我的情况:

我可以访问Java类中的Rhino Context对象.我想阅读一堆.js文件并将它们传递给Rhino上下文以对它们进行评估.我真的不想在脚本上下文中使用.js文件中的函数,因为我只是在.js文件中声明的变量可用(这是工具验证的一种问题).

理想情况下,我会读入并尝试一次评估每个文件,而不是逐行.我注意到在Context中有一个方法(参见Rhino API)evaluateReader().我的第一个猜测是我应该获取我想要加载的所有文件,仔细检查它们,并调用此方法为每个文件传递某种读取器对象,而且非常好,现在它们都在我的脚本环境中.

因此,假设我在那里正确的轨道,有人可以告诉我在Java脚本环境中使用.js文件是否有任何良好的做法,或者如果有更好的方法,或者你做了一些其他方式等?

这里没有查找实现细节,只是来自其他人的反馈,这可能已经在他们的一些代码中完成了.使用Java编写脚本语言对我来说是新的.



1> McDowell..:

你知道Rhino是用Java 6发布的吗?

String javaScriptExpression = "sayHello(name);";
Reader javaScriptFile = new StringReader(
    "function sayHello(name) {\n"
        + "    println('Hello, '+name+'!');\n" + "}");

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory
    .getEngineByName("JavaScript");
ScriptContext context = engine.getContext();
context.setAttribute("name", "JavaScript",
    ScriptContext.ENGINE_SCOPE);

engine.eval(javaScriptFile);
engine.eval(javaScriptExpression);

如果要将其与Java 5一起使用,则必须单独下载 API.您可以从scripting.dev.java.net获取许多流行脚本语言的引擎.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有