重い計算(=待ち時間が長い)に1つの列が使用されているテーブルがあります。テーブル内のBeanにバインドするJSF <h:outputText ...> ajaxサポートが必要
私のページにAjaxサポートを追加して、テーブルが不完全に表示され、この特定の列のデータが数秒後にAjaxによって追加されるようにしたいと思います。
どうすればいいですか?
ありがとうございました。
重い計算(=待ち時間が長い)に1つの列が使用されているテーブルがあります。テーブル内のBeanにバインドするJSF <h:outputText ...> ajaxサポートが必要
私のページにAjaxサポートを追加して、テーブルが不完全に表示され、この特定の列のデータが数秒後にAjaxによって追加されるようにしたいと思います。
どうすればいいですか?
ありがとうございました。
これにはプッシュまたは類似の技術が必要です。 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サポートを使用したい場合は
こんにちは、それはo.kに見えますが、私はテーブルのすべてのデータを持っている後、私はポーリングを停止する方法は?ありがとう – user1082094
Primefacesのポーリングはapiで停止することができます。私はicepushについては分かりませんが、通常は停止しないでください。来ないかもしれないサーバーブロードキャストを待っているだけです。 – mrembisz
こんにちは、これを行う別の方法はありますか?私はデータを取得するためにajax関数をトリガーするイベントが必要です。 onAfterLoadのようなイベントです。ありがとう – user1082094
:の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();
}
}
こんにちは、私はテーブルのh:outputTextにajaxイベントが必要です。 – user1082094
できるファイル関連する(ビュー)コードを投稿しますか? –