JavaTM Platform
Standard Ed. 6

软件包 javax.script

脚本 API 由定义 Java TM Scripting Engines 的接口和类组成,并为它们在 Java 应用程序中的使用提供框架。

请参见:
          描述

接口摘要
Bindings 所有键均为 String 的键/值对映射关系。
Compilable 由 ScriptEngines 实现的可选接口,该 ScriptEngines 的方法将脚本编译成无需重新编译就能反复执行的某种形式。
Invocable 由 ScriptEngines 实现的可选接口,该 ScriptEngines 的方法允许在以前执行过的脚本中调用程序。
ScriptContext 该接口的实现类被用来连接 Script Engines 和宿主应用程序中的对象(如有范围的 Bindings)。
ScriptEngine ScriptEngine 是基础接口,该接口的方法在此规范的每个实现中都必须具有完整的功能。
ScriptEngineFactory ScriptEngineFactory 用来描述和实例化 ScriptEngine
 

类摘要
AbstractScriptEngine 为几个 eval 方法的变体提供标准实现。
CompiledScript 存储编译结果的类扩展自此类。
ScriptEngineManager ScriptEngineManagerScriptEngine 类实现一个发现和实例化机制,还维护一个键/值对集合来存储所有 Manager 创建的引擎所共享的状态。
SimpleBindings 一个受 HashMap 或其他某些指定 Map 支持的 Bindings 的简单实现。
SimpleScriptContext ScriptContext 的简单实现。
 

异常摘要
ScriptException 脚本 API 的一般 Exception 类。
 

软件包 javax.script 的描述

脚本 API 由定义 Java TM Scripting Engines 的接口和类组成,并为它们在 Java 应用程序中的使用提供框架。此 API 供那些希望在其 Java 应用程序中执行用脚本语言编写的程序的应用程序编程人员使用。脚本语言程序通常由应用程序的终端用户提供。

javax.script 包的主要功能有:

  1. 脚本执行:脚本是用作脚本引擎所执行程序的源的字符流。脚本执行使用 ScriptEngineeval 方法和 Invocable 接口的方法。

  2. 绑定:此功能允许将 Java 对象作为指定变量公开给脚本程序。BindingsScriptContext 类用于此目的。

  3. 编译:此功能允许反复存储和执行脚本引擎前端所生成的中间代码。这有利于多次执行相同脚本的应用程序。引擎的前端只需要对每个脚本执行一次,而不是每次脚本执行都执行一次,因此这些应用程序可以获得高效率。注意,此功能是可选的,脚本引擎可以选择不实现它。调用者需要使用 instanceof 来检查 Compilable 接口的可用性。

  4. 调用:此功能允许重用脚本引擎前端所生成的中间代码。编译功能允许重执行中间代码所表示的整个脚本,而调用功能允许重执行脚本中的个别程序/方法。因为对于编译而言,并非所有的脚本引擎都需要提供此功能。调用者必须检查 Invocable 的可用性。

  5. 脚本引擎发现和元数据:为脚本 API 编写的应用程序可能对脚本引擎有特定的要求。一些可能需要特定的脚本语言和/或版本,而另一些可能需要特定的实现引擎和/或版本。脚本引擎是以指定方式打包的,从而可以在运行时被发现,并可以查询属性。Engine 发现机制基于 Jar 文件规范中描述的 Service 发现机制。脚本引擎实现类打包在 jar 文件中,这些文件包含一个名为 META-INF/services/javax.script.ScriptEngineFactory 的文本资源。此资源必须为打包在 jar 文件中的每个 ScriptEngineFactory 包含一个行。ScriptEngineManager 包括 getEngineFactories 方法,该方法用于获取所有使用此机制发现的 ScriptEngineFactory 实例。ScriptEngineFactory 拥有用于查询关于脚本引擎的属性的方法。

从以下版本开始:
1.6

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策