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

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

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

執筆者:掌田 津耶乃

暗黙オブジェクトをJavaScriptから使う


では、値のやりとりを利用して、JSPの機能をJavaScriptから使えるようにしてみましょう。これは、実は簡単です。JSPの暗黙オブジェクトを、JavaScriptに渡してやればいいのです。

<%
String script = request.getParameter("script");
String val = request.getParameter("val");
String result = "";

if (script != null){
  ScriptEngineManager manager = new ScriptEngineManager();
  ScriptEngine engine = manager.getEngineByName("JavaScript");
  
  try {
    engine.put("request",request);
    engine.put("response",response);
    engine.put("out",out);
    
    engine.put("X",val);
    engine.eval(script);
    Object obj = engine.get("result");
    result = obj != null ? obj.toString() : "null";
  } catch(ScriptException ex){
    ex.printStackTrace();
  }
}
%>

スクリプトレットの部分をこのように修正しましょう。これで、request、response、outの暗黙オブジェクトがJavaScriptから利用できるようになります。

例として、JavaScriptからJSPのセッションを利用してみることにしましょう。まず、以下のように変数Xとスクリプトを設定して実行してみます。

○1回目
変数X:this is Session data!

スクリプト:
session = request.getSession();
session.setAttribute("test",X);
result = "Session data set!";

これで、セッションに"test"という変数が作成されました。では、再びスクリプトに以下のようなものを記述して実行させてみましょう。

○2回目
スクリプト:
session = request.getSession();
result = "" + session.getAttribute("test");

セッションに保存されている値が表示される。


result:に、先ほどセッションに保管したテキストが表示されます。セッションがきちんと機能していることがわかりますね。こんな具合に、JavaScriptからJSPの機能が利用できると、面白いことができそうです。例えば、outを使えばJavaScriptから直接クライアント側に出力することもできますね。


  • 前のページへ
  • 1
  • 4
  • 5
  • 6
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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