English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Stellen Sie sich vor, Sie möchten die Ergebnisse eines Live-Spiels, den aktuellen Zustand des Aktienmarktes oder die aktuelle Wechselkursverteilung übertragen. Wie könnte man das umsetzen? Natürlich müsste man regelmäßig die Seite neu laden, um eine solche Echtzeitfunktion zu realisieren.
JSP bietet ein Mechanismus, um dies zu vereinfachen, der die automatische Aktualisierung der Seite regelmäßig ermöglicht.
Die einfachste Möglichkeit, eine Seite neu zu laden, ist die Methode setIntHeader() des Response-Objekts zu verwenden. Der Signatur der Methode ist wie folgt:
public void setIntHeader(String header, int headerValue)
Diese Methode benachrichtigt den Browser, dass er nach der angegebenen Zeit neu geladen wird, die in Sekunden angegeben wird.
Dieser Beispiel verwendet die Methode setIntHeader() zur Einstellung des Refresh-Headers, um eine digitale Uhr zu simulieren:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <html> <head> <title>Beispiel zur automatischen Aktualisierung</<title> </<head> <body> <h2>Automatische Aktualisierung von</h2> <% // Jeder5Sekunden neu laden response.setIntHeader("Refresh", 5); // Aktuelle Zeit erhalten Calendar calendar = new GregorianCalendar(); String am_pm; int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; String CT = hour+:+ minute +:+ second +" "+ am_pm; out.println("Die aktuelle Zeit ist: " + CT + "\n"); %> </body> </html>
Speichern Sie den folgenden Code im Datei main.jsp und rufen Sie ihn auf. Es wird jede5Sekunden wird die Seite einmal neu geladen und die aktuelle Systemzeit abgerufen. Das Ergebnis ist wie folgt:
Automatische Aktualisierung von Die aktuelle Zeit ist: 6:5:36 PM
Sie können auch selbst einen komplexeren Programm schreiben.