zoukankan      html  css  js  c++  java
  • 6.游戏特别离不开脚本(2)-获取脚本引擎

     1 import java.util.List;  
     2   
     3 import javax.script.ScriptEngine;  
     4 import javax.script.ScriptEngineFactory;  
     5 import javax.script.ScriptEngineManager;  
     6 import javax.script.ScriptException;  
     7   
     8 public class GetSupportedScriptingEngine {  
     9     public static void main(String[] args) {  
    10   
    11         //创建一个ScriptEngineManager  
    12         ScriptEngineManager manager = new ScriptEngineManager();  
    13         //取得所有ScriptEngineFactory  
    14         List<ScriptEngineFactory> factories = manager.getEngineFactories();  
    15         //遍历输出  
    16         for (ScriptEngineFactory factory : factories) {  
    17             System.out.println("EngineName      = " + factory.getEngineName());  
    18             System.out.println("EngineVersion   = " + factory.getEngineVersion());  
    19             System.out.println("LanguageName    = " + factory.getLanguageName());  
    20             System.out.println("LanguageVersion = " + factory.getLanguageVersion());  
    21             System.out.println("Extensions      = " + factory.getExtensions());  
    22   
    23             List<String> names = factory.getNames();  
    24             for (String name : names) {  
    25                 System.out.println("Engine Alias = " + name);  
    26             }  
    27               
    28             //通过factory获取ScriptEngine  
    29             
    30 //            ScriptEngine scriptEngine = factory.getScriptEngine() ;  
    31             ScriptEngine scriptEngine = manager.getEngineByExtension("js") ;//其他方式获取  
    32 //            ScriptEngine scriptEngine2 = manager.getEngineByName("JavaScript") ;//其他方式获取  
    33             try {  
    34                 //脚本引擎执行JavaScript语句  
    35                 scriptEngine.eval("var arr = new Array() ; arr.push(1); print(arr.pop())") ;  
    36             } catch (ScriptException e) {  
    37                 e.printStackTrace();  
    38             }  
    39         }  
    40     }  
    41 }  

    结果:

    EngineName      = Mozilla Rhino
    EngineVersion   = 1.6 release 2
    LanguageName    = ECMAScript
    LanguageVersion = 1.6
    Extensions      = [js]
    Engine Alias = js
    Engine Alias = rhino
    Engine Alias = JavaScript
    Engine Alias = javascript
    Engine Alias = ECMAScript
    Engine Alias = ecmascript
    1

    for遍历了但始终只有一个结果,难道支持js的哇!

  • 相关阅读:
    json-lib 中关于null与"null"
    Android SDK及Build版本配置说明
    WebStorm下Webpack的Source map问题
    简述Javascript的原型链
    Hbuilder中添加Babel自动编译
    理解Java的lamda表达式实现
    CountDownLatch多个主线程等待示例
    关于CyclicBarrier的执行顺序
    【转载】让Go2Shell支持ITerm2 和x-term
    【原创】mac下为eclipse安装反编译插件
  • 原文地址:https://www.cnblogs.com/booke/p/3197988.html
Copyright © 2011-2022 走看看