文書によると、使用するために、世界で最も簡単な製品であるべきでは:ICEfaces 2は実際に動作しますか?
は、単にアプリケーションにicefaces.jarを追加し、我々はページへの直接・ツー・ドム(D2D)を適用してレンダリングしています。
でも、最も基本的なチュートリアルGetting Started with ICEfaces 2でも動作するようには見えません。コードをページの一番下にダウンロードし、WARに組み込み、Tomcat 6.0.32とTomcat 7.0.14の両方に展開しました。私が気づいた最初の事は何らかの理由で、複合コンポーネントが機能しなかったということでした。次の属性(複数可)が必要とされますが、何の値がために供給されていない
/job-applicant.xhtml 39,78 @それら:id。
しかし、それはより多くのJSFの問題(JSF 2 Composite component required attribute throws exception)のように感じているので、私は持っていないようだ値(ID属性に必要な除去することにより、依然として必要=「true」とありますが、ことを決議問題)。とにかく、今すぐアプリケーションがデプロイされます。前述のように、ClearボタンをクリックするとAJAX呼び出しが使用され、応答XMLのフォームの完全なDOMが取得されます。次のステップは、icefaces.jarを追加することであり、唯一の違いは、応答して送信されていることを確認しますへ直接DOM機能を追加することになっている:
ICEfacesを2サーバ - にコンポーネントのマークアップをレンダリング現在のクライアントビューを反映するサイドDOM(Document Object Model)です。 JSFライフサイクルが実行されるたびにDOM比較が行われ、変更があれば、ページ更新の簡潔なセットがクライアントに送り返されてページに適用されます。このDirect-to-DOMまたはD2Dレンダリングと呼んでいます。
はしかし、私は、レスポンスとして完全な形式を取得し、プラスICEfacesをいくつかの追加の行は、このようなもの:
<input name="ice.window" type="hidden" value="epgo74zmvc" />
<input name="ice.view" type="hidden" value="vs4ik661" />
だから、はっきり、ICEfacesをが何かをやっているが、それは約束しないで何を。これは、実際のAJAXレスポンスよりも実際には長くなります。だから、実際には、より大きな応答であるという事実を無視して、私は次の約束に移っ:ダイレクト・ツー・DOMレンダリングで
、我々はもはやFは必要ありません:AJAXタグは、当社の「クリア」ボタンで入れ子になりました
右前方に音がする?このページの例では、リスナーのEL式をf:ajaxタグからh:commandButtonタグに移動するだけです。問題は、メソッドのシグネチャが異なることです。これはチュートリアルチュートリアルであるはずですが、実際に手順を順を追って説明していません。とにかく、バッキングBeanのclearFormメソッドのメソッドシグネチャを変更して、その引数が今すぐAjaxBehaviorEventではなくActionEventになるように修正できます。そうすることで、ICEfacesは実際にはフルページアクションとなるAJAXアクションを置き換えることができます。これはかなり信じられないほどですが、私の口にはまだ酸っぱい味があります。 D2Dが動作しないように見える理由は誰にも分かりますか?私は何か間違っているのですか?私はまだICEfacesを使うべきですか?
あなたのご意見ありがとうございました。私は、JSFライフサイクルが関与していることを知っています。そして、私はAJAXがここでプレーしていることを知っています。私はJSFのライフサイクルをある程度理解しています。しかし、ICEfacesはD2Dレンダリングでは、JSFライフサイクルがDOM比較を実行するたびに、変更があった場合、簡潔なページ更新セットがクライアントに送り返されてページに適用されることを保証しています_。しかし、「