| 
     
     
 
import javax.script.Compilable; 
import javax.script.CompiledScript; 
import javax.script.ScriptEngine; 
import javax.script.ScriptEngineManager; 
import javax.script.ScriptException; 
 
public class JDK6CompileTest { 
  public static void main(String args[]) { 
    ScriptEngineManager manager = new ScriptEngineManager(); 
    ScriptEngine engine = manager.getEngineByName("javascript"); 
    engine.put("counter", 0); 
    if (engine instanceof Compilable) { 
      Compilable compEngine = (Compilable) engine; 
      try { 
        CompiledScript script = compEngine.compile("function count(){counter=counter+1;return counter;}; count();"); 
        System.out.println(script.eval()); 
        System.out.println(script.eval()); 
        System.out.println(script.eval()); 
      } catch (ScriptException e) { 
        System.err.println(e); 
      } 
    } else { 
      System.err.println("Engine can't compile code"); 
    } 
  } 
} 
/*1.0 
2.0 
3.0*/ 
 
           
     
     
   
    
    |