ICEfaces の機能の中で関心があるものの 1 つはサーバー開始レンダリングです。
この技法により、Web ブラウザーによってレンダリングされたコンポーネントに更新をプッシュすることができます。
このトピックでは、JViews JSF コンポーネントに更新をプッシュする方法について説明します。
JViews コンポーネントは Ajax 対応のコンポーネントであり、そのコンテンツは通常、JViews サーバー・サイド・サーブレット・サポートによって生成された JPG または PNG イメージです。
JViews JSF コンポーネントにイメージを直接プッシュする方法はありません。
ICEfaces は HTML フラグメントや JavaScript™
コードなどの要素をプッシュできますが、イメージをプッシュすることはできません。
ただし、ICEfaces プッシュ・メカニズムを使用して、クライアント側の JViews JSF コンポーネントに、サーバーに使用可能な更新があることを通知することはできます。
その後、JViews JSF コンポーネントは、Ajax メカニズムを使用して、更新されたイメージを取得することができます。
この方法は、ネットワーク・トラフィックの観点から極めて効果的です。
クライアント側の JViews JSF コンポーネントに通知するには、ICEfaces サーバー開始レンダリング技法を使用して JavaScript コードをプッシュすることができます。
ICEfaces Ajax エージェントはコードを受け取って評価します。
例えば、次の JavaScript コードを使用することができます。
<script type="text/javascript">diagrammer.updateImage();</script>
このコードは、JViews ダイアグラム・コンポーネントに、そのコンテンツを更新するよう指示するものです。
JViews JSF コンポーネントをプッシュする方法に関するヒントとトリックについては、JViews Diagrammer と一緒にインストールされているプッシュ例を調べてください (
<install-dir>
/jviews-diagrammer89/codefragments/jsf-diagrammer-ice)。