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
分享到:
相关推荐
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...
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对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复...
可用作渗透测试实践实验室的易受攻击的应用程序和系统的精选列表。 此列表旨在帮助初学者和专业人士测试和提高他们的渗透技能。 内容 易受攻击的 Web 应用程序 - Badstore.net 致力于帮助您了解黑客如何利用 Web ...
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 兼容性和互用性 ...
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程序的执行 ...
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程序的执行 ...
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 兼容性和互用性 ...
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 兼容性和互用性 ...
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程序的执行 ...
描述这本食谱安装了lesscss [ ]。 LESS 使用动态行为(例如变量、mixin、操作和函数)扩展 CSS。 LESS 在客户端(Chrome、Safari、Firefox)和服务器端运行,使用 Node.js 和 Rhino。要求NodeJS NPM属性用法
Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。...jQuery还有一个比较大的优势是,它的文档...