Javaプログラミング/Javaプログラミング関連情報

Java 6でスクリプト言語を使おう(2ページ目)

Java 6で、Javaの中からJavaScriptを実行させてみましょう。

執筆者:掌田 津耶乃

スクリプトエンジン利用の基本


では、実際に何かスクリプトを書いて試してみましょう。ごくシンプルに、標準出力にテキストを表示させてみることにします。

println("This is JavaScript.");

printlnを実行すると、コンソールに出力される。


こんなスクリプトを書いて実行してみると、標準出力に「This is JavaScript.」と出力されます。EclipseやNetBeansなどの開発環境からサーバを起動し実行した場合には、コンソール画面などに表示されるはずです。

中には、サンプルとして「alert("Hello");」というようなalert関数を実行させてみた人もいるかもしれません。これの結果は、ちょっと意外なことになります。「JavaScript.javax.script.ScriptException」といった例外が発生し実行されないのです。

なんでなんだ?と悩んだ人は、JavaScriptを少々勘違いしています。alertなどの関数は、JavaScript本体ではなく、Webブラウザに実装されたJavaScriptに用意されているものなのです。スクリプトエンジンによるJavaScriptの実行は、サーバサイドで行なわれます。クライアントであるWebブラウザ内で実行されるJavaScriptとは違うのです。この点を勘違いしないようにしてください。

では、スクリプトエンジンを利用している部分の処理を見てみましょう。スクリプトエンジンは、ScriptEngineManagerと呼ばれるクラスを用意し、そこからScriptEngineのインスタンスとして取得をします。

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");

それを行なっているのがこの部分です。ここではScriptEngineManagerのgetEngineByNameというメソッドを使い、JavaScriptのScriptEngineを取得しています。――こうして取得したScriptEngineの「eval」というメソッドを呼び出すと、スクリプトを実行させることができます。

try {
  engine.eval(script);
} catch(ScriptException ex){……略……}

このevalは、引数にスクリプトのStringを渡すと、それを評価して実行します。この際、ScriptExceptionという例外を発生させる場合があるため、try内で実行するなどの対応をしておく必要があります。


  • 前のページへ
  • 1
  • 2
  • 3
  • 6
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます