Ich arbeite an einer Anwendung JSF und ich möchte in regelmäßigen Abständen eine Komponente mit AJAX wie Facebook Benachrichtigungszone Verhalten aktualisieren. Wie kann ich das tun?JSF, aktualisieren Sie regelmäßig eine Komponente mit AJAX?
Antwort
Poll ist, was Sie
Umfrage Komponente make Ajax-Aufrufe in einem bestimmten Intervall verwenden müssen.
Zum Beispiel Primefaces Poll
<h:form id="form">
<h:outputText id="txt_count" value="#{counterBean.count}" />
<p:poll interval="3" listener="#{counterBean.increment}" update="txt_count" />
</h:form>
Link-Primefaces Ajax Poll
Reines JSF Ansatz präsentieren würde js Timer zu verwenden, die $("#someFormId\\:idOfButton").click();
Zeitschrift document.getElementById('someFormId:idOfButton').click();
oder jquery aufruft während der Knopf l aussehen wird ike diese
<h:commandButton id="idOfButton">
<f:ajax render="txt_count"></f:ajax>
</h:commandButton>
so etwas wie dieses
setInterval(function(){$("idOfButton").click()},3000);
Mehr über Timer JavaScript Timing Events
Basierend auf OP's Frage Geschichte, verwendet er PrimeFaces, das ist eine perfekte Lösung. – BalusC
In Richfaces gibt es eine als auch Umfrage-Komponente. Hier ist ein schönes Beispiel
<a4j:region>
<h:form>
<a4j:poll id="poll" interval="1000" enabled="#{userBean.pollEnabled}" reRender="poll,grid"/>
</h:form>
</a4j:region>
<h:form>
<h:panelGrid columns="2" width="80%" id="grid">
<h:panelGrid columns="1">
<h:outputText value="Polling Inactive" rendered="#{not userBean.pollEnabled}" />
<h:outputText value="Polling Active" rendered="#{userBean.pollEnabled}" />
<a4j:commandButton style="width:120px" id="control" value="#{userBean.pollEnabled?'Stop':'Start'} Polling" reRender="poll, grid">
<a4j:actionparam name="polling" value="#{!userBean.pollEnabled}" assignTo="#{userBean.pollEnabled}"/>
</a4j:commandButton>
</h:panelGrid>
<h:outputText id="serverDate" style="font-size:16px" value="Server Date: #{userBean.date}"/>
</h:panelGrid>
</h:form>
In Zukunft Fragen geben they, es wäre hilfreich, wenn Sie ausdrücklich erwähnen, welche Komponentenbibliotheken Sie die Nutzung, wie PrimeFaces. Wenn Sie nichts erwähnen, wird immer Standard-JSF angenommen. – BalusC