Actualisation automatique JSP


Imaginez si vous souhaitez diffuser en direct le score du match, ou l'état en temps réel de la bourse, ou le rationnement actuel des devises, comment y parvenir ? Évidemment, pour réaliser cette fonctionnalité en temps réel, vous devez actualiser la page régulièrement.

JSP fournit un mécanisme pour simplifier ce travail, qui peut automatiquement actualiser la page régulièrement.

Le moyen le plus simple d'actualiser une page est d'utiliser la méthode setIntHeader() de l'objet de réponse. La signature de cette méthode est la suivante :

public void setIntHeader(String header, int headerValue)

Cette méthode indique au navigateur de s'actualiser après un temps donné en secondes.


Exemple de programme d'actualisation automatique de page

Cet exemple utilise la méthode setIntHeader() pour définir l'en-tête d'actualisation et simuler une horloge numérique :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>自动刷新实例</title>
</head>
<body>

<h2>自动刷新实</h2>
<%
   // 设置每隔5秒刷新一次
   response.setIntHeader("Refresh", 5);
   // 获取当前时间
   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("当前时间为: " + CT + "\n");
%>

</body>
</html>

Enregistrez le code ci-dessus dans le fichier main.jsp et accédez-y . Il actualisera la page toutes les 5 secondes et obtiendra l'heure actuelle du système. Les résultats d'exécution sont les suivants :

自动刷新实

当前时间为: 6:5:36 PM

Vous pouvez également écrire vous-même un programme plus complexe.