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

DWRが実現する次世代AJAX(後編)

前回、DWRの基本について説明をしました。後編では、いよいよ「リバースAJAX」を実際に使ってみましょう。

執筆者:掌田 津耶乃

前回の記事


※この記事は、2回連載の後編になります。前編をお読みになっていない方は、以下のリンクから参照ください。

DWRが実現する次世代AJAX(前編)


JavaBeanクラスを定義して利用する


前回、DWRの基本的な使い方について説明をしました。DWRは、サーブレットの技術を利用したライブラリで、Jarファイルを追加するだけで利用することができます。これはdwr.xmlという設定ファイルに記述を行うことで、そのクラスをJavaScriptのオブジェクトとして利用できるようにすることができます。サーバ側にJavaを使って必要な処理を用意しておき、それをクライアントのJavaScriptから呼び出して使うという、AJAXのもっとも基本となる機能を、ほんの数行のJavaScriptを書くだけで実現できてしまいます。

ごく単純なAJAX機能は、比較的簡単に作成できることがわかったことと思います。今回は、実際にJavaBeanクラスとそのマネージャクラスを定義し、それを利用してより本格的なAJAXプログラムを作成してみましょう。

今回は、簡単な投稿システムを作成してみることにします。まず、投稿データのBeanクラスを定義し、このBeanを管理するためのマネージャクラスを作成しましょう。そして、DWRを使い、JavaScriptからマネージャクラスのメソッドを呼び出して投稿メッセージの表示や新規投稿などを行ってみることにします。

前回、Eclipse WTPの動的WebプロジェクトとしてDWRを利用したWebアプリケーションを作成しました。これをそのまま再利用して説明を行っていくことにしましょう。――まず最初に、dwr.xmlへの登録から行いましょう。今回は、Bean管理をするマネージャクラスを登録しておくことにします。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
  <allow>
    <create creator="new" javascript="MyBeanManager"
      scope="application">
      <param name="class" value="jp.tuyano.MyBeanManager" />
    </create>
    <convert match="jp.tuyano.MyBean" converter="bean"></convert>
  </allow>
</dwr>


ここでは、jp.tuyano.MyBeanManagerというクラスをMyBeanManagerオブジェクトとして登録しています。これで投稿データの管理を行わせるわけです。今回は、その他に<convert>というタグも追加されていますね。これは、Beanクラスをコンバートするためのコンバーターを用意するものです。ここでは、jp.tuyano.MyBeanというクラスのコンバーターを宣言しています。こうすることにより、このMyBeanクラスのインスタンスをJavaScriptから理解できるようになります。

また、creatorのタグ部分に、新たに「scope」という属性が追加されているのに注目してください。これは、文字通りBeanのスコープを指定するものです。今回は、Webアプリケーションが起動したらずっとBeanを保持し続けてほしいので、scope="application"としてスコープをapplicationにしています。この他、sessionにすればセッションが生きている間、保持し続けるように設定することもできます。


  • 1
  • 2
  • 3
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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