これについて説明するための良いチュートリアルなどはありますか? JavaScript には既に慣れていますが、Java でスクリプトを作成したことはまだありません。ありがとう。基本的に、プロジェクトの一部を処理するために JavaScript/XML を使用したいと考えています。Java 8 が Nashorn を介して JavaScript サポートを導入したことは知っています。これがどのように機能するかを学びたいです。javax.script を使用する必要があることは知っていますが、そのパッケージがどのように機能するかはわかりませんし、Nashorn がどのように機能するかもわかりません。
4 に答える
ここ数週間、nashorn とたくさん遊んだ。私はすべての調査結果をサンプル主導のチュートリアルに書きました。
http://winterbe.com/posts/2014/04/05/java8-nashorn-tutorial/
次のトピックについて説明します。
- Java コードから JavaScript 関数を呼び出す
- javascript から Java メソッドを呼び出す
- javascript 内から Java クラスを使用する
- すべての言語拡張機能の概要 (例: それぞれ)
Nashorn から始めるのに役立つことを願っています。
最近、Java と JavaScript に関するいくつかのプレゼンテーションを行いました (Nashorn 経由)。ここで私のスライドと例を見つけることができます。
これは非常に単純なスクリプト ランナーの実装です。
import javax.script.*;
public class ScriptRunner {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn");
String scriptName = args[0];
Bindings bindings = nashorn.createBindings();
bindings.put("scriptFileName", scriptName);
nashorn.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
nashorn.eval("load('src/main/resources/javascript/' + scriptFileName)");
}
}
アプリケーション パラメーターとして渡すことができる test.js。
print("This is hello from test.js");
jjs
また、 JDK8 に付属するツールもあります。CLI JavaScript インタープリターです。JavaScript および Java でシェル スクリプトを記述するために使用できます。( OSX、Linuxで改善する方法についての良いSOアドバイス)。jjs
これはそのようなスクリプトの例です
#!/usr/local/bin/jjs -scripting
var currentDir = new java.io.File('.'),
allFiles = currentDir.list();
print(currentDir.getCanonicalPath());
for (var i = 0; i < allFiles.length; i++) {
print(allFiles[i]);
}
何かありましたら遠慮なく質問してください。
ありがとう、
ヴィク
これは、非常に基本的な「入門」ビデオです。
https://www.youtube.com/watch?v=Cxyg22C5gcw
Julien Ponge も優れた紹介記事を書いています。
http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html
正式なドキュメントについては、Nashorn Wiki もお勧めします。