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 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。