コンテンツの更新

Java™ ウィジェット・ライブラリー (JWL) パネル・タグ内で、このタグは、ページがブラウザーにロードされた後で非同期に取得できるパネルの代替コンテンツを定義します。 タグは、ユーザーによって行われるアクションに基づいて (置き換え/書き直しをしないで) Web ページのコンテンツを動的に変更するために使用します。 例えば、質問への回答の結果などで、用意された回答に適したコンテンツをページにプラグできます。

JWL get アクションが (例えば、ボタン・クリックの結果として) このコンポーネントの親パネルに対して実行されるときには、クライアントはパネルの代替コンテンツを要求し、代替コンテンツが使用可能な場合には、既存のパネルのコンテンツを新規コンテンツで置き換えます。 このパネルを含むページは get によっては置き換えられません。このタグがあると、 ページの「一部」を置き換えることができます。 改訂されたコンテンツは、オリジナル・コンテンツの元になったものと同じ JSP から取得されます。 ページの、サーバーのライフ・サイクル・コピーとクライアント・サイド・ページは、ともに同期して保持されます。 新規ページのコンテンツは、post HTTP 要求操作を使用して取得されます (これに対し、ajaxRefreshRequest では、get HTTP 要求を使用して同じ操作が行われます)。パネルを含むフォームのコンテンツは、要求の一部としてポストされるため、 フォーム内の値は、パネルに配置する新規コンテンツを計算するサーバー・コードで使用することができます。

注: この製品の前のバージョンを使用しており、ajaxRefreshRequest および ajaxRefreshSubmit タグを JSP に追加する場合は、以下を JSP 構成ファイル (通常は、faces-config.xml) に追加する必要があります。
<factory>
        <faces-context-factory>
            com.ibm.faces.context.AjaxFacesContextFactory
        </faces-context-factory>
        <render-kit-factory>
            com.ibm.faces.renderkit.AjaxRenderKitFactory
        </render-kit-factory>
    </factory>
注: データ・ツリー・コントロールの <odc:treeNodeAttr> タグ は、SDO データ と WDO データを結合する際に、className 属性に異なる値を使用します。 WDO (WebSphere® Application Server 5.1 など) を使用する サーバーから、SDO (WebSphere Application Server 6.1 など) を使用するサーバーへ プロジェクトをマイグレーションしたあとで、これを修正するには、 すべてのデータ・ツリー・コントロールをいったん削除して再作成するのが、 もっとも簡単な方法です。
制約事項: HTML ファイルから Faces JSP ファイルにリンクするには、HTML ページ内で <filename>.jsp か ら <filename>.faces を 参照している、ファイルの名前を変更してください。 実際の Faces JSP ファイル拡張子の名前を変更しないでください。 参照リンクを HTML ファイル内の .faces 拡張子に 変更すると、Links Builder は作動しません。
このタグを使用するには、次のようにします。
  1. コンテンツが動的に算出され、リフレッシュされるページに、パネルを配置します。 次のように、hx:ajaxRefreshRequest タグをパネルに追加します。
    <h:panelGroup id="panel1">
            <hx:ajaxRefreshSubmit onerror="return doError(this, event);"/>
        </h:panelGroup>
  2. パネル内に、条件式に基づいてレンダリングされたタグ、または値が式になっている (または、他のなんらかの側面が式に基づいて変化する) タグを配置します。 例えば、次のようにします。
    <h:outputText id="otext2" escape="false"
    rendered='#{pc_JWL30.aBean.aString1 != null && pc_JWL30.aBean.aString1 != ""}'
        value='You typed:<b> #{pc_JWL30.aBean.aString1}</b>
    ' />
  3. 条件式で使用される値がパネルと同じフォーム内にあることを確認します。 これらの値は、要求が行われたときにサーバーに送られ、ライフ・サイクルが現行値で更新されます。 例えば、次のようにします。
    <h:form id="panel1">
            <h:inputText styleClass="inputText" id="text0"
    value="#{pc_JWL30.aBean.aString1}"/>
            <h:panelGroup id="panel1"> ...
  4. ユーザーがどのようなアクションを実行することにより新規コンテンツがページに配置されるのかを識別し、 その要求を呼び出すタグ/イベントの振る舞いを追加します。 例えば、次のようにします。
    <hx:commandExButton type="button" value="Enter"
    id="button1">
            <hx:behavior event="onclick" behaviorAction="get;stop"
    targetAction="panel1"/>
        </hx:commandExButton>

子タグとして使用可能なタグ

タグは、次のタグのとして使用可能です。
  • <hx:panelActionbar>
  • <hx:panelBox>
  • <hx:panelDialog>
  • <hx:panelFormBox>
  • <h:panelGrid>
  • <h:panelGroup>
  • <hx:panelLayout>
  • <hx:panelMenu>
  • <hx:panelSection>

使用可能なコンテンツ

タグは、パネル・タグ (上記にリストされている使用可能なタグ) のコンテンツを再ビルドします。再ビルド中のパネルには、次のタグを除くすべての JSF タグが組み込まれます。
  • <hx:scriptCollector>
  • <f:subview>
  • <f:view>
  • <hx:viewFragment>
  • <hx:inputHelperFormTracker>
  • <hx:inputHelperSetFocus>
  • <r:inputRichText>
  • <odc:tabbedPanel>
  • <odc:bfPanel>
  • <odc:buttonPanel>
  • <odc:tree>
  • <odc:treeNodeAttr>
  • <odc:graphDraw>
  • <odc:graphDrawData>
  • <odc:graphDrawDataSeries>
  • <odc:graphDrawLabels>

「プロパティー」ビューと「すべての属性」ビュー

コンポーネントの「プロパティー」ビューには、 コンポーネントに設定できる最も一般的な属性のセットが表示されます。 コンポーネントによっては、制御、アクション、 または他のコンポーネントの追加に関するオプションが 表示される場合もあります。 「プロパティー」ビューを開くには、 「ウィンドウ」 > 「ビューの表示」 > 「プロパティー」とクリックします。

「コンテンツの更新」コンポーネントの共通属性を次の表にリストします。

「すべての属性」ビューには、コンポーネントで設定できるすべての属性の表が表示されます。 この表には、「プロパティー」ビューからアクセスできる属性も含まれます。 「すべての属性」ビューに切り替えるには、 「プロパティー」ビューの右上隅にある「すべての属性」アイ コン「すべての属性」
アイコンをクリックします。

表 1. 「コンテンツの更新」コンポーネントの属性

属性名

説明

binding

コンポーネントの インスタンス (通常はユーザー・インターフェース・ コンポーネント) を、Bean プロパティー (通常は バッキング・ファイル内にあります) にバインドする式です。

id

コンポーネントに名前を割り当てます。JSP 内で固有の名前にする必要があります。

inProgress

属性はまだ使用可能になっていません。

rendered

true または false に設定できます。
  • false - コンポーネントは、実行時にブラウザーにレンダリングされません。
  • true - コンポーネントがレンダリングされます。これはデフォルト値です。

target

ハイパーリンクがクリックされたときにページがロードされる、 フレームセット内のターゲット・フレームを割り当てます。
  • 新規ウィンドウ
  • 同じフレーム
  • 親フレーム
  • 全画面

title

実行時にツールチップとしてブラウザーに表示される、タイトル・テキストを指定します。 コンポーネントの代替テキストが指定されていない場合、 ブラウザーはこのテキストを代替テキストとして使用します。

oncomplete

要求が成功した場合、 パネルの内容を置換した後で、 ここで指定する JavaScript™ を 実行します。 この関数には、有効な引数がありません。

onerror

onblur が起動して、 フィールド値の妥当性検査が失敗した場合に 実行される JavaScript 関数 (指定 する場合)。 この関数は、アクションが実行される前に実行されます。関数が false を返す場合、アクションは実行されず、イベントの処理は (DOM によって停止される場合) 停止されます。

onstart

振る舞いが開始される際に、 この JavaScript 関数が 実行されます。 この関数には、有効な引数がありません。false を返す場合、実行は停止します。この関数を oncomplete と併せて使用すると、要求の進行中に表示される内容をカスタマイズできます。


フィードバック