|
Ajax4JSF専用のタグの記述 最後にページ内にAjax4JSF専用のタグを記述します。これによりJavaScriptを記述しなくてもAjaxページを生成できようになります。 Ajax4JSFが用意するカスタムタグを利用するには、5行目のようにTaglibディレクティブで宣言します。 ここで注目すべきなのは、15行目にある<a4j:commandButton>タグです。このタグは通常のJSF標準タグのcommandButtonと非常によく似ています。action属性にアクションメソッドを指定することで、ボタンを押した時にそのメソッドが実行されます。 通常のcommandButtonと違う点として、reRenderという属性があります。このreRender属性によって、UIコンポーネントのIDを指定するとアクションメソッド実行後にコンポーネント部分のみが再読み込みされるのです。つまり15行目のボタンが押されると、21行目から27行目のコードで描画されていた部分が再読み込みされます。 また19行目に<h:form>タグで囲まれた「<a4j:poll interval="1000" reRender="commentHistory" />」という記述があります。こちらはいわゆるポーリングを行って、自動的にサーバのデータを取得して再描画を行います。時間間隔や、どの部分再描画するのかをinterval属性やreRenderで指定します。 21行目の<a4j:outputPanel>タグは、このタグで囲まれた範囲が再描画の対象となることを指示するためのタグです。
リスト4:JSPページ
<%@ page language="java" contentType="text/html; charset=UTF-8"
表1:タグと属性 今回使用しているタグと属性をまとめると、表1のようになります。この他にもAjax4JSFではAjaxアプリケーションを作成するのに便利なタグが多数用意されています。もっと知りたい方は、Ajax4jsf Developer Guide 動作確認 それでは作成したアプリケーションをTomcatにデプロイして実行します。「http://localhost:8080/<プロジェクトのContextPath>/faces/chat.jsp」へアクセスすると簡易チャットの画面が表示されます。 では、Webブラウザを複数立ち上げて、片方から何か入力してみましょう。するとすぐにもう一方のWebブラウザにも入力した情報が反映されます。また、入力する際にも画面すべてを描画し直すのではなく、表示欄のみが再描画されているのが確認できるでしょう。 この程度のアプリケーションは、JavaScriptをまったく書かずに実現できます。また、カスタムタグが直感的に記述できるのも注目すべき点でしょう。 まとめ Ajax4JSFでは通常のJSFタグにはない「Ajax通信」「画面の一部を動的に書き換える」「ポーリング」といった処理をJavaScriptを記述することなくプログラミングできるフレームワークです。ただし、足回り的な部分に特化していて、DojoやExt.jsなどに代表されるようなリッチなUIを実現する機能は備わっていません。 そこで第2回では、リッチなUIコンポーネントを実現する「RichFaces」について触れていきます。お楽しみに! |
||||||||||||||||||||||
|
前のページ 1 2 3 |
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||

