JavaプログラミングNashornインスタンスコード


本研究の主な内容はJavaプログラミングNashornであり、具体的には以下の通りである。
Nashornは何ですか
Nashornは、「nass-horn」という発音で、ドイツの第二次大戦時の戦車の命名であり、同時にjava 8の次世代のjavascriptエンジンでもあります。javascriptはウェブブラウザで実行しています。これまでの様々なdom操作を提供していますが、NashornはDOMブラウザのオブジェクトをサポートしていません。これは注意すべき点です。
この前Java 8を勉強した時、ちょうど簡単な例を書いたので、ここにメモしておきます。
ファイルディレクトリ:
  • StringFunction.java、文字列機能クラス
  • StringNashorn.java、パッケージスクリプトエンジン
  • NashorrnTest.java、テストエンジン、エンジン呼び出し
  • StringFunction.javaソース:
    
    public class StringFunction { 
       
      /** 
       *       
       */ 
      public String sub(String str, int start, int end) { 
        return str.substring(start, end); 
      } 
       
      /** 
       *       
       */ 
      public String append(String... strs) { 
        StringBuilder result = new StringBuilder(strs[0]); 
        Stream.of(strs).skip(1).forEach(str -> result.append(str)); 
        return result.toString(); 
      } 
    } 
    StringNashan.javaソース:
    
    public class StringNashorn { 
       
      /** 
       * Nashorn     
       */ 
      private ScriptEngine nashorn = new ScriptEngineManager().getEngineByName("nashorn"); 
       
      /** 
       *      
       */ 
      public Object execute(String script) { 
        ScriptContext scriptContext = new SimpleScriptContext(); 
        //       stringfunction   ,           StringFunction   
        scriptContext.setAttribute("stringfunction", new StringFunction(), 100); 
        nashorn.setContext(scriptContext); 
         
        Object result = null; 
        try { 
          result = nashorn.eval(script); 
        } catch (ScriptException e) { 
          e.printStackTrace(); 
        } 
         
        return result; 
      } 
    } 
    Nashorrn Test.javaソース:
    
    public class NashornTest { 
       
      public static void main(String[] args) { 
        String substring = "stringfunction.sub(\"abcdefghijk\", 1, 4);"; 
        String append = "stringfunction.append(\"abc\", \"def\");"; 
         
        StringNashorn nashorn = new StringNashorn(); 
        Object subResult = nashorn.execute(substring); 
        Object appendResult = nashorn.execute(append); 
        System.out.println(subResult.toString()); 
        System.out.println(appendResult.toString()); 
      } 
    } 
    メールメソッドを実行し、実行結果:
    bcd
    abcdef
    ここでNashorrn Test.javaを書き換えたら、次のようになります。
    
    public class NashornTest { 
       
      public static void main(String[] args) { 
        //               
        String substring = "var s1 = stringfunction.sub(\"abcdefghijk\", 1, 4);" 
            + " print(s1);"; 
        String append = "var s2 = stringfunction.append(\"abc\", \"def\");" 
            + " print(s2);"; 
         
        StringNashorn nashorn = new StringNashorn(); 
        //   execute      ,              sub append     。 
        nashorn.execute(substring); 
        nashorn.execute(append); 
      } 
    } 
    同じ結果も出力されます。
    締め括りをつける
    以上がJavaプログラミングNashornのインスタンスコードのすべての内容です。皆さんの助けを期待しています。興味のある方は引き続き当駅の他のテーマを参照してください。友達のサポートに感謝します。