`
suflow
  • 浏览: 168458 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Rhino 实践

阅读更多

1. Rhino是什么

简单的理解,就是一个java版的javascript引擎,它有mozilla开源提供。

JavaScript implemented in Java!

Drop-in alternative to Java 

Not a web-browser environment: no DOM, no CSS

Just one language: no browser inconsistencies!

 

Vs Node.js

Evented I/O for V8 JavaScript

性能?

……

 

2.代码

/**** jdk6自带,首先初始化 js引擎 ***/
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");


/**** 1.调用hello对象方法 ***/
HelloWorld hello = new HelloWorld();
engine.put("script_hello", hello);
String script1 = "script_hello.sayHello();";
engine.eval(script1);  

/**** 2.脚本中创建和使用java对象 ***/
String script2 = "var file = java.io.File('/tmp/script_test');var path = file.getPath();print('File path=='+path+'\\r\\n');";
engine.eval(script2);

 

/**** 使用Rhino.jar ***/
Context cx = Context.enter();
String str = "9*(1+2)";
Scriptable scripttable = cx.initStandardObjects();
       
/**** 用例3 ***/
Object result = cx.evaluateString(scripttable, str, null, 1, null);
String res = Context.toString(result);
System.out.println("result=="+res);
       
/**** 用例4 ***/
Script script = cx.compileString(str, null, 1, null);
Object result2 = script.exec(cx, scripttable);
System.out.println("result=="+result2);

 

参考

Mozilla官方文档:

http://www.mozilla.org/rhino/

Oracle的工具行工具:

http://docs.oracle.com/javase/6/docs/technotes /tools/share/jrunscript.html

分享到:
评论

相关推荐

    Pro .NET Best Practices .net最佳实践 英文版

    12.4.1 使用Rhino Mocks动态生成伪对象 12.4.2 使用Moles进行隔离测试 12.5 数据库测试框架 12.6 用户界面测试框架 12.6.1 Web应用程序测试框架 12.6.2 Windows窗体和其他用户界面测试框架 12.7 验收测试框架 12.7.1...

    《.NET最佳实践》.((美)Stephen Ritchie)

    12.4.1 使用Rhino Mocks动态生成伪对象 240 12.4.2 使用Moles进行隔离测试 243 12.5 数据库测试框架 248 12.6 用户界面测试框架 252 12.6.1 Web应用程序测试框架 252 12.6.2 Windows窗体和其他用户界面测试框架...

    Java对象的序列化和反序列化实践

    当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复...

    java猜数字游戏源码-awesome-vulnerable:可用作渗透测试实践实验室的易受攻击的应用程序和系统的精选列表

    可用作渗透测试实践实验室的易受攻击的应用程序和系统的精选列表。 此列表旨在帮助初学者和专业人士测试和提高他们的渗透技能。 内容 易受攻击的 Web 应用程序 - Badstore.net 致力于帮助您了解黑客如何利用 Web ...

    JavaScript权威指南(第6版)(附源码)

    12.1 用Rhino脚本化Java 12.2 用Node实现异步I/O 第二部分 客户端JavaScript 第13章 Web浏览器中的JavaScript 13.1 客户端JavaScript 13.2 在HTML里嵌入JavaScript 13.3 JavaScript程序的执行 13.4 兼容性和互用性 ...

    JavaScript权威指南(第6版)

    12.1 用rhino脚本化java 291 12.2 用node实现异步i/o 297 第二部分 客户端javascript 第13章 web浏览器中的javascript 309 13.1 客户端javascript 309 13.2 在html里嵌入javascript 313 13.3 javascript程序的执行 ...

    JavaScript权威指南(第6版)中文文字版

    12.1 用rhino脚本化java 291 12.2 用node实现异步i/o 297 第二部分 客户端javascript 第13章 web浏览器中的javascript 309 13.1 客户端javascript 309 13.2 在html里嵌入javascript 313 13.3 javascript程序的执行 ...

    JavaScript权威指南(第6版)(中文版)

    12.1 用Rhino脚本化Java 12.2 用Node实现异步I/O 第二部分 客户端JavaScript 第13章 Web浏览器中的JavaScript 13.1 客户端JavaScript 13.2 在HTML里嵌入JavaScript 13.3 JavaScript程序的执行 13.4 兼容性和互用性 ...

    JavaScript权威指南(第6版)

    12.1 用Rhino脚本化Java 12.2 用Node实现异步I/O 第二部分 客户端JavaScript 第13章 Web浏览器中的JavaScript 13.1 客户端JavaScript 13.2 在HTML里嵌入JavaScript 13.3 JavaScript程序的执行 13.4 兼容性和互用性 ...

    JavaScript权威指南(第6版) 中文版

    12.1 用rhino脚本化java 291 12.2 用node实现异步i/o 297 第二部分 客户端javascript 第13章 web浏览器中的javascript 309 13.1 客户端javascript 309 13.2 在html里嵌入javascript 313 13.3 javascript程序的执行 ...

    chef-lesscss:厨师的食谱来安装 Less CSS [http

    描述这本食谱安装了lesscss [ ]。 LESS 使用动态行为(例如变量、mixin、操作和函数)扩展 CSS。 LESS 在客户端(Chrome、Safari、Firefox)和服务器端运行,使用 Node.js 和 Rhino。要求NodeJS NPM属性用法

    jquery插件使用方法大全

    Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。...jQuery还有一个比较大的优势是,它的文档...

Global site tag (gtag.js) - Google Analytics