Package javax.script
脚本API由定义Java脚本引擎的接口和类组成,并为Java应用程序中的使用提供了框架。 该API旨在供希望执行在Java应用程序中以脚本语言编写的程序的应用程序员使用。 脚本语言程序通常由应用程序的最终用户提供。
主要功能包括javax.script
包
脚本执行 :脚本是用作脚本引擎执行的程序的源的字符串流。 脚本执行使用
eval
的ScriptEngine
方法和Invocable
接口的方法。绑定 :此工具允许将Java对象暴露给脚本程序作为命名变量。
Bindings
和ScriptContext
类用于此目的。编译 :此功能允许脚本引擎前端生成的中间代码重复存储和执行。 这有利于多次执行相同脚本的应用程序。 这些应用程序可以提高效率,因为引擎的前端只需要在每个脚本执行一次,而不需要在每个脚本执行一次。 请注意,此功能是可选的,脚本引擎可能选择不实现它。 来电者需要使用instanceof检查来检查
Compilable
接口的可用性。调用 :此功能允许重用由脚本引擎前端生成的中间代码。 而编译允许重新执行由中间代码表示的整个脚本,调用功能允许重新执行脚本中的各个过程/方法。 与编译的情况一样,并非所有脚本引擎都需要提供此功能。 来电者必须检查
Invocable
的可用性。脚本引擎发现 :写入Scripting API的应用程序可能对脚本引擎有特定要求。 有些可能需要特定的脚本语言和/或版本,而其他可能需要特定的实现引擎和/或版本。 脚本引擎以指定的方式打包,以便在运行时可以发现引擎,并查询属性。 引擎发现机制基于
ServiceLoader
类中描述的服务提供程序加载工具。ScriptEngineManager
包含getEngineFactories
方法来获取使用此机制发现的所有ScriptEngineFactory
实例。ScriptEngineFactory
具有查询脚本引擎属性的方法。
- 从以下版本开始:
- 1.6
-
接口摘要 接口 描述 Bindings 键/值对的映射,所有键的键均为Strings
。Compilable ScriptEngines实现的可选接口,其方法将脚本编译为可重复执行的表单,而无需重新编译。Invocable 由ScriptEngines实现的可选接口,其方法允许在先前执行的脚本中调用过程。ScriptContext 该接口的实现类用于将脚本引擎与对象(如作用域绑定)连接在托管应用程序中。ScriptEngine ScriptEngine
是基本接口,其方法必须在本规范的每个实现中都具有完全的功能。ScriptEngineFactory ScriptEngineFactory
用于描述和实例化ScriptEngines
。 -
类摘要 Class 描述 AbstractScriptEngine 为eval
方法的几种变体提供标准实现。CompiledScript 由存储编译结果的类扩展。ScriptEngineManager ScriptEngineManager
实现了一个ScriptEngine
类的发现和实例化机制,并且还维护一个存储由管理器创建的所有引擎共享的状态的键/值对的集合。SimpleBindings 一个简单的绑定实现,由HashMap
或其他一些指定的Map
。SimpleScriptContext 简单实现ScriptContext。 -
异常摘要 异常 描述 ScriptException The generic异常
class for the Scripting APIs.