JavaでJSR223を利用し、JavaScriptの処理で動的に定義した関数をJavaから呼び出します。
※JDK6以上が必要。
【手順】
1.「Javaプロジェクトの作成方法」の手順で、「JSR223Sample003-CallDefineFunction」といプロジェクトを作成。
2.「Javaクラスファイルの作成方法」の手順で、「Main.java」というクラスファイルを作成。
3.「Main.java」を以下の様に入力。
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Main {
public static void main(String[] args) throws ScriptException, NoSuchMethodException {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
if (scriptEngine == null) {
System.err.println("ScriptEngineの作成に失敗しました。");
System.exit(1);
}
scriptEngine.eval("function printMessage(message1, message2) {" +
" println('メッセージ1 = ' + message1);" +
" println('メッセージ2 = ' + message2);" +
"}"
);
((Invocable) scriptEngine).invokeFunction("printMessage", "Hello World!", "ハロー ワールド");
}
}
4.「Ctrl+Shift+F」を押し、コードをフォーマッティング。
5.「Ctrl+S」を押し、ファイルを保存。
6.「Javaプロジェクトの実行方法」の手順で、「Main.java」を実行。
7.以下の様にコンソールに出力されていれば成功です。
(※コンソールが表示されていない場合は、「コンソール・ビューの表示方法」を確認)
メッセージ1 = Hello World! メッセージ2 = ハロー ワールド
以上です。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。