2016-08-11 12 views
0

RichFaces 3.3.3(大企業プロジェクト - まだ更新するオプションなし)でJSF 1.2を使用していますが、<a4j:support>タグでいくつかのフィールドを再レンダリングする際に問題があります。 私はテーブルと、バッキングBeanで計算された値を表示するサマリー行を持っています。要約行のセルは、他の行が変更されるたびに自動的に更新されるはずです。更新をトリガーするすべてのセルで、valueChangeListenerがあります。これは、Beanの "再計算"メソッドを呼びます。<a4j:support reRender="[corresponding_summary_cell]" (...) />問題は、テーブルがあるページでは、レンダリングが機能しません。 Ajaxリクエストが呼び出されますが、何らかの「空の」応答が返されます。たとえば、ページへのリンクをクリックしてビューをリロードした場合にのみ、リクエストは意図したとおりに動作し、対応するサマリーセルを正しく更新します。RichFaces <a4j:support>最初の試行で再レンダリングしません

品種の空応答内容フラグメント:

<body> 
    <meta name="Ajax-Update-Ids" content="" /><span id="ajax-view-state">  
    <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id11" autocomplete="off" /></span> 
    <meta id="Ajax-Response" name="Ajax-Response" content="true" /> 
    <meta name="Ajax-Update-Ids" content="" /> 
    <span id="ajax-view-state"> 
    <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id11" autocomplete="off" /> 
    </span> 
    <meta id="Ajax-Response" name="Ajax-Response" content="true" /> 
</body> 

計算例をトリガ細胞:

<customNamespace:moneyValue value="#{someAttribute}" id="field1" valueChangeListener="#{controller.calculateSums}"> 
    <a4j:support event="onchange" reRender="Form-Table-Cost1Sum"/> 
</customNamespace:moneyValue> 

テーブル内の行をdybnamically追加されるが、最初の行(空のテーブルに最初の行が追加されている)だけで問題が発生し、次の行は正常に動作します。私はまた、フォーム全体を再描画しようとしました - 何も変わっていません。

TL

; DR: は、別の行を、AJAX更新すべきでテーブルセルは、再レンダリング属性が空だったように、最初の時間応答を与えるだけリロード後に動作しました。

答えて

0

テーブルの上に、属性rendered="false"のコンポーネントを1つ追加してみてください。 これは、JSFがタグを処理するために必要なものをロードしたことを確認します。

関連する問題