AJAX のコンポーネント

Java™ ウィジェット・ライブラリー (JWL) AJAX コンポーネントは、ページ内のパネル・タグのコンテンツを、 ブラウザー・ウィンドウ内のページを置き換えることなく動的に置き換えるために使用されます。 これらのタグを使用すると、よりシームレスでフリッカーのないユーザー・インターフェースを作成できます。 ユーザーのページとの対話において、ページ全体をサブミット/要求する必要がなくなり、データの入力中にページの一部を変更できるようになりました。

JWL AJAX タグは、JWL パネル・タグの子タグとして追加されます。 これらのタグのコンテンツは、パネルの代替コンテンツを定義します。 タグが JWL get アクションによって操作されると (つまり、クリックなどの JavaScript™ イベントが JWL get アクションを呼び出します)、新規コンテンツをパネルに配置するように要求がサーバーに戻されます。 サーバーは新規コンテンツを (必要に応じてページ内のオブジェクトのツリーを更新して) 計算し、コンテンツをクライアントに戻してパネルにプラグさせ、既存のコンテンツを置き換えます。

AJAX のコンポーネントは、サーバーからコンテンツを要求するときに、HTTP get (サブ) 要求または HTTP submit (サブ) 要求を実行することができます。コンテンツを要求することも、パネルを含むフォームを送信して、送信の処理が行われるパネルを受け取ることもできます。 ajaxRefreshRequest は、ページを作成したのと同じページで追加コンテンツが定義される、get を実行します。 ajaxUpdateContent は submit を実行します。この場合にも、ページを作成したのと同じページで追加コンテンツが定義されます。 ajaxRefreshRequest は、コンテンツの生成方法および生成すべきコンテンツを指示するために、クライアントからサーバーにパラメーターを渡すことができます。 3 つ目の AJAX コンポーネントである ajaxExternalRequest は、元の JSF ページ以外のソースからのコンテンツを要求するために使用できます。

ajaxRefreshRequest および ajaxUpdateContent を使用する際には、これらのタグを、パネル・タグ内の代替コンテンツを定義するものと単純化して考えることができます。 パネルには初期コンテンツがあり、AJAX タグで定義された追加コンテンツがその中に組み込まれます。最初は、初期コンテンツが表示されます。 クライアント・コードがタグを操作すると、初期コンテンツは、AJAX タグによって定義された追加コンテンツによって置き換えられます。

ページに JWL AJAX タグを追加しただけでは、何も行われません。 ページが新規コンテンツを受け取るためには、少なくとも 1 つの JWL get アクションをページ内にコーディングする必要があります。get アクションを実行すると、AJAX タグで定義された新規コンテンツが検索されます。

使用可能な AJAX タグは以下のとおりです。

この表では、パレットで最初は非表示になっているコンポーネントの名前の横には、アスタリスク (*) が付けられています。

表 1. AJAX のコンポーネント
コンポーネント タグ名 説明
コンテンツの取得 <hx:ajaxRefreshRequest> 同じ JSF ページから得られたコンテンツによって親タグの既存コンテンツがどのように置き換えられるのかを定義します。 コンテンツは HTTP get (サブ) 要求を使用して取得されます。
コンテンツの更新 <hx:ajaxRefreshSubmit> 同じ JSF ページから得られたコンテンツによって親タグの既存コンテンツがどのように置き換えられるのかを定義します。 コンテンツは HTTP submit (サブ) 要求を使用して取得されます。
外部コンテンツの取得 <hx:ajaxExternalRequest> 別のページから得られたコンテンツによって親タグのコンテンツがどのように置き換えられるのかを定義します。 コンテンツは、任意のデータ・ソースに対する HTTP get (サブ) 要求を使用して取得されます。
関連概念
非同期の JavaScript コンポーネントおよび XML (AJAX) コンポーネント
JavaServer Faces (JSF) の概要
JSF ウィジェット・ライブラリー (JWL)
JavaServer Faces (JSF) を使用した Web アプリケーションの開発

フィードバック