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實現.