WEB开发网
开发学院网页设计JavaScript 使用脚本实现设计和性能的平衡 阅读

使用脚本实现设计和性能的平衡

 2010-09-14 13:32:58 来源:WEB开发网   
核心提示: javax.script.Invocable Scripting API 的主要设计目的之一就是尽可能的实现通用性,这样众多脚本引擎便可以依照它,使用脚本实现设计和性能的平衡(2),鉴于此, javax.script.ScriptEngine 接口只定义了最基本的脚本引擎操作:变量绑定和脚

javax.script.Invocable

Scripting API 的主要设计目的之一就是尽可能的实现通用性。这样众多脚本引擎便可以依照它。鉴于此, javax.script.ScriptEngine 接口只定义了最基本的脚本引擎操作:变量绑定和脚本执行。脚本引擎可以实现的所有其他高级特性都封装在一个单独的接口中,这样开发人员便可以轻易地判断特定引擎的特征并适当地使用它。这种体系结构还允许通过此 API 使用非常简单的引擎。

函数

在以下示例中,我将演示 Invocable 接口。首先,我将创建一个简单的脚本(本文的所有示例都将通过 JavaScript 实现,因此可以使用 JKD 6 中的 Rhino 引擎 来执行它们):

function sayHello(name) {
    println("Hello " + name);
}

这个简单的 JavaScript 示例位于 function.js 文件中(并且可从本文的 参考资料 部分获得),其中定义了一个 sayHello 函数,用于向标准输出打印文本。现在,我们来看看如何使用 Scripting API 调用这种函数。

package net.scriptinginjava.invocable;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class InvocableTest {
  public static void main(String[] args) throws Exception {
   ScriptEngineManager factory = new ScriptEngineManager();
   ScriptEngine engine = factory.getEngineByName("js");
   if (engine instanceof Invocable) {
    engine
     .eval(new FileReader(
      "src/net/scriptinginjava/invocable/function.js"));
    ((Invocable) engine).invokeFunction("sayHello", "World");
   }
  }
}

这个 Java 应用程序将实例化 ScriptEngineManager 类,并使用该实例获取需要的脚本引擎,然后使用该引擎处理脚本。

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 脚本 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接