Mustang与Rhino:Java 6中的脚本编写 - 编程入门网
脚本编写(2)
时间:2011-01-06 bea John Ferguson Smart
检索结果 现在可以运行脚本了,那么接下来做什么呢?通常我们都希望从脚本编写环境获取求值后的值或表达式,以便用于Java代码。这有两种实现方法。第一种是使用eval()函数返回执行脚本后所返回的值。默认情况下,将返回上次执行的表达式的值。 下例演示了一个虚构的保险公司的保险费计算方法。对于年龄小于25岁的司机,将额外支付50%的保险费。而对于有非保险补助的大于25岁的司机,保险费将打一个25%的折扣。其它情况则应用标准的保险费。这个规则可以使用如下的JavaScript表达式来实现:
返回值是上次执行的指令的值,所以在本例中就是为riskFactor所赋的值。注意,包含结果(在本例中是riskFactor)的JavaScript变量的值是无关的:只返回值。 与脚本交互的第二种方式是使用Bindings对象。Bindings对象基本上是一个键/值对映射,可用于在Java应用程序和JavaScript脚本之间交换信息。
访问Java资源 还可以从脚本内部访问Java类和资源。Rhino JavaScript引擎支持importPackage()函数,该函数允许导入Java包。导入之后,就可以在脚本中实例化Java对象,就像在Java中所做的那样:
调用Java类上的方法也很容易做到,不管是传递给脚本引擎的对象实例,还是静态类成员。
Mustang与Rhino:Java 6中的脚本编写(3)时间:2011-01-06 bea John Ferguson Smart可编译且可调用的引擎 某些脚本引擎实现支持脚本编译,这将带来相当大的性能提升。脚本可以被编译或重用,而不是在每次执行时被解释。compile()方法返回一个CompiledScript实例,随后该实例可用于通过eval()方法计算编译后的表达式:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |