今天工作总结以及javascript引擎Rhino介绍
2005-10-25 22:58
701 查看
数据导入功能终于做的差不多了,服务器端导入模式也试了一下,临下班之前还有nullpointerexception错误没有解决,还有就是生成凭证有问题。总感觉项目中有太多将就的东西了,底层开发框架设计的很好,扩展性也很强。但是业务框架就差很多了,那个凭证生成平台竟然建立在源单据要建立一个名字为fivouchered字段的基础之上,否则根本跑不起来,耦合性太强了,而且这种耦合是很不容易被发现的。周四就要把做的这个Demo发到客户现场了,希望一切都平安,否则下周甚至下下……下周都不可能安心进入项目开发了。今天项目组开例会没有前一阵子那么忙碌了,产品延期发版了两个多月,战友们也感觉压力小了许多。但是风险是无处不在的,只希望需求、开发、测试合作更紧密一点,交流更通畅一些,多快好省的让产品发版,少点全员加班。
忙是忙,总不能把自己困死在工作上的。毕竟还是要自己学点东西的。本想回来看一看hibernate的源代码的,但是同宿舍兄弟刚买了台电脑要用我的电脑做代理上网。生平第一次看到用双网卡实现共享上网,又学了一招,我那个兄弟可是个网络高手,以后要经常向他学习了,等有时间买个小路由,让他教教我怎么配置路由器。
时间不多只能把我前一阵子研究的java中调用脚本语言的东西拿出来整理一下了。java中调用脚本语言有很广泛的用途,比如用户自定义公式,自定义单据转换规则,用户自定义工作流等等。java中调用脚本语言有很多中实现,比如Jython、Groovy、Beanshell等等。但是即使对于有一定开发经验的程序员学习它们是需要一段时间的。而提起脚本,无论是程序员还是有一定软件开发基础的客户(例如客户公司的网管、信息管理员等等)都会想起javascript和VBScript,如果我们的系统使用这些用户熟悉的脚本语言,必将降低系统学习的难度。VBScript是捆绑在windows平台下的,因此javascript就成了我们专注的对象。javascript引擎可以在NetScape的js.jar中找到,而现在这个包已经做为一个开源项目独立出来了,项目的名字是Rhino,项目网站:http://www.mozilla.org/rhino/。
Rhino支持javascript标准的所有特性,如赋值、运算、判断语句、循环语句、甚至简单的io操作。Rhino很简单易用,我以一个例子来说明,这个例子就是允许用户设定一个使用x,y两个变量进行一定逻辑算术运算(运算规则用户用javascript定义),并允许用户对x,y赋值,然后运行得出计算结果。代码如下:
Context ctx = Context.enter();
Scriptable scope = ctx.initStandardObjects();
scope.put("x", new Integer(20));
scope.put("y", new Integer(30));
try
{
ctx.evaluateString("if(x",1,null);
System.out.println(scope.get("result", scope));
}
finally
{
Context.exit();
}
很简捷吧。scope.put("x", new Integer(20))的意思是为变量x赋值,ctx.evaluateString("if(x",1,null); 则是运行javascript脚本,而scope.get("result", scope)则是得到运算结束后变量的值,我们采用result做为返回值,所以scope.get("result", scope)就表示得到返回值。不错吧。嘿嘿,很方便呀。
好了,都凌晨一点钟了,该睡觉了,明天还要改bug呢,争取提前把任务搞定,周五调休。本文出自 “CowNew开源团队” 博客,转载请与作者联系!
忙是忙,总不能把自己困死在工作上的。毕竟还是要自己学点东西的。本想回来看一看hibernate的源代码的,但是同宿舍兄弟刚买了台电脑要用我的电脑做代理上网。生平第一次看到用双网卡实现共享上网,又学了一招,我那个兄弟可是个网络高手,以后要经常向他学习了,等有时间买个小路由,让他教教我怎么配置路由器。
时间不多只能把我前一阵子研究的java中调用脚本语言的东西拿出来整理一下了。java中调用脚本语言有很广泛的用途,比如用户自定义公式,自定义单据转换规则,用户自定义工作流等等。java中调用脚本语言有很多中实现,比如Jython、Groovy、Beanshell等等。但是即使对于有一定开发经验的程序员学习它们是需要一段时间的。而提起脚本,无论是程序员还是有一定软件开发基础的客户(例如客户公司的网管、信息管理员等等)都会想起javascript和VBScript,如果我们的系统使用这些用户熟悉的脚本语言,必将降低系统学习的难度。VBScript是捆绑在windows平台下的,因此javascript就成了我们专注的对象。javascript引擎可以在NetScape的js.jar中找到,而现在这个包已经做为一个开源项目独立出来了,项目的名字是Rhino,项目网站:http://www.mozilla.org/rhino/。
Rhino支持javascript标准的所有特性,如赋值、运算、判断语句、循环语句、甚至简单的io操作。Rhino很简单易用,我以一个例子来说明,这个例子就是允许用户设定一个使用x,y两个变量进行一定逻辑算术运算(运算规则用户用javascript定义),并允许用户对x,y赋值,然后运行得出计算结果。代码如下:
Context ctx = Context.enter();
Scriptable scope = ctx.initStandardObjects();
scope.put("x", new Integer(20));
scope.put("y", new Integer(30));
try
{
ctx.evaluateString("if(x",1,null);
System.out.println(scope.get("result", scope));
}
finally
{
Context.exit();
}
很简捷吧。scope.put("x", new Integer(20))的意思是为变量x赋值,ctx.evaluateString("if(x",1,null); 则是运行javascript脚本,而scope.get("result", scope)则是得到运算结束后变量的值,我们采用result做为返回值,所以scope.get("result", scope)就表示得到返回值。不错吧。嘿嘿,很方便呀。
好了,都凌晨一点钟了,该睡觉了,明天还要改bug呢,争取提前把任务搞定,周五调休。本文出自 “CowNew开源团队” 博客,转载请与作者联系!
相关文章推荐
- 今天工作总结以及对DB2的一点抱怨
- JavaScript是如何工作的:引擎,运行时间以及调用栈的概述
- 今天的工作总结以及明天的工作内容——PM(李忠)
- ios:UIView动画总结[转]IPhone中UIView中动画及其属性说明[转]详解UIScrollView[转]以及cocos2d框架简介[转]Automator重命名文件介绍[转]
- javascript 工作常用小方法总结
- HTML5中Video.js自定义播放器必备知识点总结以及JS全屏API介绍
- JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
- 总结今天遇到的问题以及解决方法
- 第一年续签总结以及工作第二年的发展计划
- 总结今天的工作
- Linux运维笔记-文档总结-FTP介绍,安装,以及匿名用户和本地用户的操作
- redis常用指令总结以及功能介绍
- 360不能安装以及灵格斯运行时突然消失之解决(工作总结)
- Hadoop学习总结(1)——大数据以及Hadoop相关概念介绍
- 关于ArcGIS API for JavaScript中basemap的总结介绍(一)
- J2ME程序员可从事的工作种类以及学习重点介绍
- 纯java 的javascript引擎:rhino
- Dom 学习总结以及实例的使用介绍
- 凌乱的思绪以及紧促的时间碎片——今日工作总结-2013.07.19
- java正则表达式学习总结,以及和javascript正则表达式的区别