Wie kann eine Tapestry-Zone regelmäßig am besten aktualisiert werden, um Änderungen an einem Dataset von einem Server zu ziehen?Aktualisieren einer Tapestry-Zone in regelmäßigen Abständen
Antwort
könnten Sie Prototype verwenden PeriodicalExecuter, und haben die Tapisserie des ZoneManager rufen Sie die Zone zu aktualisieren:
new PeriodicalExecuter(function(pe) {
var zoneObject = Tapestry.findZoneManager(element);
zoneObject.updateFromUrl(updateUrl);
}, 5);
Zunächst müssen Sie die URL für Ihre Event-Handler entlarven:
public String getModeChangedUrl()
{
// will call the onModeChanged method
return resources.createEventLink("ModeChanged").toAbsoluteURI();
}
Dann weisen Sie in einem JavaScript-Block in Ihrem tml die URL einer Variablen zu:
Dann brauchen Sie einen Handle zu einem ZoneManager erhalten JavaScript-Objekt:
var zm = Tapestry.findZoneManagerForZone(zoneId);
Es ist nicht wichtig, welche Zone Sie die ZoneManager erhalten für all dies ist nicht die Ajax-Rückruf zu erleichtern. Wenn der Ereignis-Listener ein MultiZoneUpdate oder ein Update für eine andere Zone zurückgibt, wird es korrekt verarbeitet.
Ich verwende eine Dummy-Zone zum Marshalling und gebe immer ein MultiZoneUpdate zurück, auch wenn ich nur eine Zone aktualisiere. Da ich oft mehrere Zonen aktualisieren muss, finde ich es einfacher, in meinem Ansatz konsistent zu sein. Wie auch immer, das ist ein wenig off-topic für deine Frage.
wenn Sie zusätzliche Parameter für die Ereignishandler haben, können Sie sie an den durch ‚/‘ dh „http://www.host.com/app/page/event/param1/param2“
getrennt url anhängenjetzt, dass Sie die url
und ein ZoneManager
haben, können Sie die Anfrage-Antwort-Schleife initialisieren:
zm.updateFromURL(url);
wie vorgeschlagen HENNING, diese Kombination mit dem PeriodicalExecuter in Prototyp wird erreichen, was Sie wollen:
new PeriodicalExecuter(function(pe)
{
var zm = Tapestry.findZoneManagerForZone("anyZoneId");
zm.updateFromUrl(url);
}, 5);
Dies hat sich seit T5.2 etwas geändert. MultiZoneUpdate gehört der Vergangenheit an. das clientseitige Zeug ist jedoch weitgehend das Gleiche. – pstanton
- 1. Wie googleMap-Marker in regelmäßigen Abständen aktualisieren?
- 2. Google-Diagramm in regelmäßigen Abständen aktualisieren
- 3. Aktualisieren einer Datenbank in regelmäßigen Abständen mit Java
- 4. erhalten xml in regelmäßigen Abständen
- 5. JVM hängt in regelmäßigen Abständen
- 6. Hintergrundbild mit derselben URL in regelmäßigen Abständen aktualisieren
- 7. In regelmäßigen Abständen aspx Seite teilweise aktualisieren mit jquery
- 8. In regelmäßigen Abständen Daten in Datei schreiben
- 9. Aufruf der Funktion rekursiv in regelmäßigen Abständen
- 10. C# asynchrone Aufrufmethode in regelmäßigen Abständen
- 11. Sellerie Aufgaben in regelmäßigen Abständen (ohne Django)
- 12. Android: Ausführen von Code in regelmäßigen Abständen
- 13. In regelmäßigen Abständen ein Callable über ScheduledExecutorService
- 14. eine JavaScript-Funktion in regelmäßigen Abständen aufrufen
- 15. Update-Daten vom Server in regelmäßigen Abständen Design
- 16. Wie aktualisiert man ein Textfeld in regelmäßigen Abständen?
- 17. Löschen Sie den Inhalt der Protokolldatei in regelmäßigen Abständen
- 18. Aktualisieren des Standorts im Hintergrund auf einem Timer/in regelmäßigen Abständen in iOS 8
- 19. iOS localStorage mit Phonegap löscht in regelmäßigen Abständen
- 20. In regelmäßigen Abständen Nachrichten an Clients in Ratchet senden
- 21. Wie SQL-Datenbank in Microsoft Azure in regelmäßigen Abständen abgeschnitten
- 22. wie Hintergrundbild in regelmäßigen Abständen in Sharepoint 2013
- 23. Kopieren von Dateien in ein Verzeichnis in regelmäßigen/festgelegten Abständen
- 24. Kontinuierlich laufende Dienstverweise in regelmäßigen Abständen Dienst in Android starten
- 25. IIS: Web-Anwendung hängt in regelmäßigen Abständen muss System Neustart
- 26. Erneutes Starten von Heroku Python-Skript in regelmäßigen Abständen
- 27. In regelmäßigen Abständen die Funktion triggerSave von TinyMCE aufrufen
- 28. konvertieren jQuery Ereignis Hier klicken, um in regelmäßigen Abständen
- 29. Programmgesteuert das Desktop-Hintergrundbild in regelmäßigen Abständen ändern
- 30. In regelmäßigen Abständen in einer ASP.NET Core RC2-Anwendung Hintergrundaufgaben ausführen
BTW, Ähnliche Funktion ist geplant - siehe https://issues.apache.org/jira/browse/TAP5-746 – Sergey