2011-12-05 7 views
0

重い計算(=待ち時間が長い)に1つの列が使用されているテーブルがあります。テーブル内のBeanにバインドするJSF <h:outputText ...> ajaxサポートが必要

私のページにAjaxサポートを追加して、テーブルが不完全に表示され、この特定の列のデータが数秒後にAjaxによって追加されるようにしたいと思います。

どうすればいいですか?

ありがとうございました。

+0

できるファイル関連する(ビュー)コードを投稿しますか? –

答えて

0

これにはプッシュまたは類似の技術が必要です。 icepush、素形pollを見てください。 Richfacesも同様に近いものを提供しています。

更新:これを実現するには、いくつかのjavascriptでページをレンダリングした後にajax更新を発行するだけです。

$(function() { 
    var event = document.createEvent("MouseEvents") 
    event.initEvent("click", true, true) 
    jsf.ajax.request(document.getElementById("my-form:my-command-link"), event, {render: "myTableId"}) 
}) 

ここで、my-command-linkは、id my-formを持つh:commandLink内のフォームを指します。このコマンドリンクには、欠落しているデータを入力するアクションが添付されている必要があります。もちろん、cssを使ってコマンドリンクを隠すこともできます。結果は、空のテーブルを持つ最初のページと、バックグラウンドで処理されていない日付をフェッチするajax更新となります。

この例ではイベントの初期化について100%確信していませんが、これを自分で微調整する必要がありますが、jsf.ajax.requestを既に成功させて使用しています。あなたが時間内AJAXサポートを使用したい場合は

+0

こんにちは、それはo.kに見えますが、私はテーブルのすべてのデータを持っている後、私はポーリングを停止する方法は?ありがとう – user1082094

+0

Primefacesのポーリングはapiで停止することができます。私はicepushについては分かりませんが、通常は停止しないでください。来ないかもしれないサーバーブロードキャストを待っているだけです。 – mrembisz

+0

こんにちは、これを行う別の方法はありますか?私はデータを取得するためにajax関数をトリガーするイベントが必要です。 onAfterLoadのようなイベントです。ありがとう – user1082094

-1

:のinputTextは、ここではXHTMLファイルの例

にある豆で

<h:inputText style=" width : 70px;" id="dempID" 
     value="#{InformationLoan.instance.Code}"> 
     <a:support event="onchange" limitToList="true" reRender="nameID" // form ID i haved use here. 
     action="#{InformationController.codeValue(InformationLoan.instance.Code)}"/> 
    </h:inputText> 

あなたは

public void codeValue(String value){ 
    try{ 

     info("HERE IS YOUR VALUE : " + value); 
     // TYPE YOUR CODE...... 

    }catch(Exception e){ 
     e.printStackTrace(); 
    } 
} 
+0

こんにちは、私はテーブルのh:outputTextにajaxイベントが必要です。 – user1082094

関連する問題