开发一个工具类,该工具类提供一个eval方法,实现JavaScript中eval的函数的功能: 题目:开发一个工具类,该工具类提供一个eval方法,实现JavaScript中eval的函数的功能:可以动态运行一行或多行代码。例如eval("System.out.println(\"aa\")"),将可以输出aa 。找答案 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是java6,那么他自己内建支持javascript.查javadoc吧.如果是java5,就去找一个叫做rhino的项目,是mozilla的.:) UPJDK6支持很多脚本语言了。rhino,是mozilla的js引擎,有Java 接口。 rhino是mozila的JS引擎的JAVA版但是LZ的意思好像是想自己实现一个解释器啊,那挺复杂的,需要一定的编译原理的知识 eval("System.out.println(\"aa\")")这里面 eval 的可 不是脚本..以前在网上看过别人用动态编译的就是程序中控制 产生一个新 xxxx.java 文件, 编译, 载入新类, 调用方法 http://topic.csdn.net/u/20091211/11/db748a1e-81ac-4c05-be6b-c435d4d0b636.html这个问题我在这个帖子里有完整代码说明,虽然和楼主的要求不是完全一样,但原理相同,都是实时的编译JAVA然后执行。感兴趣可以参考一下。 呵呵我已经写完了,7楼的贴给了我正确思路思路:创建一个临时文件,将eval()的参数包装成某类的某方法的实体,用IO把该类写入临时文件,然后动态编译该类,然后通过反射运行该类的方法,当运行完毕时,删除该临时文件 这两个for循环有什么区别? 关于finally语名块的执行问题? 如何在自己创建的目录里建文件? 用Java连接SQL sever 遇到奇怪问题! 有谁知道在VJ++6.0中J2SDK是被集成在哪里? 哪位好心人说说JAVA_HOME/bin/下那几个exe的用法吧? 请问java对一个字节数组进行加密后,该字节数组的长度是否会增加呢? 菜鸟自学,一个贪食蛇小程序的问题 java应用程序中如何调用声音文件 请问j2sdkee for win的最新版是那个,我装了jdk1。4后装j2skdee1_2_1后启动出错! 为什么会出现这个问题啊!郁闷!请高手指点 多线程问题
UPJDK6支持很多脚本语言了。rhino,是mozilla的js引擎,有Java 接口。
我已经写完了,7楼的贴给了我正确思路
思路:创建一个临时文件,将eval()的参数包装成某类的某方法的实体,用IO把该类写入临时文件,然后动态编译该类,然后通过反射运行该类的方法,当运行完毕时,删除该临时文件