|
今天大家讨论说发现 jdk 1.6 安装目录下有个 jrunscript.exe, 不知道是干啥的, 在 dos 下运行一下看看:
d:/jee5training/jdk1.6.0/bin>jrunscript.exe js> var a = 2; js> print(a) 2js> println(a) 2 js> js> alert(a) script error: sun.org.mozilla.javascript.internal.ecmaerror: referenceerror: "al ert" is not defined. (<stdin>#1) in <stdin> at line number 1 js> new jframe("a").show(); script error: sun.org.mozilla.javascript.internal.ecmaerror: referenceerror: "jf rame" is not defined. (<stdin>#1) in <stdin> at line number 1 js> new javax.swing.jframe("a").show();
原来是 js 解释器, 注意不在浏览器中运行, 所以 alert 这样的方法是不能用的。 但是可以调用 java 类, 例如 gui 库。 这样的 dos 命令解释器应用我们也可以用 java 来做, 例如下面的代码就实现了一个提示 commmand: 的命令行应用: import java.io.*; public class customcmd { public static void main(string[] args) throws ioexception { bufferedreader cmdin = new bufferedreader(new inputstreamreader(system.in)); system.out.println("enter /"quit/" to quit this program."); for(;;) { system.out.print("command:"); string cmd = cmdin.readline(); if(cmd.equalsignorecase("quit")) break;// quit the program system.out.println("your input: " + cmd.touppercase()); // process the command } } }
其他的一些命令行小代码: 命令行形式下在同一行上反复输出文本使用 system.out.print("…… /r");// /r表示回车, /n表示换行 分析带选项的命令行输入 如: -s <server> -p <port> -m <message> public static void main(string args[]) { // parse the command line options for(int i = 0; i < args.length - 1; i++) { if(args[i].equalsignorecase("-s")) { string server = args[i + 1]; }else if(args[i].equalsignorecase("-p")) { string port = args[i + 1]; } ...// other parameters } 相关资料: java 6 的默认 js 脚本引擎是 rhino, 是 mozilla 开源的 js 引擎, 基于 java, 我们可以下载其单独的包用在 jdk 1.4 或者 1.5. 这样应用可以将一些业务逻辑代码用 js 实现
|