English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

刷新自动 JSP

Immaginate, se si desidera trasmettere in diretta il punteggio di una partita, lo stato in tempo reale del mercato azionario, o la distribuzione attuale delle valute, come si potrebbe realizzare? Chiaramente, per implementare questa funzionalità in tempo reale, è necessario ricaricare regolarmente la pagina.

JSP fornisce un meccanismo che rende questo lavoro più semplice, consentendo di ricaricare automaticamente la pagina in modo programmatico.

Il modo più semplice per ricaricare una pagina è utilizzare il metodo setIntHeader() dell'oggetto response. La firma di questo metodo è la seguente:

public void setIntHeader(String header, int headerValue)

Questo metodo informa il browser di ricaricare la pagina dopo un dato intervallo di tempo, espresso in secondi.

Esempio di programma di ricarica automatica della pagina

Questo esempio utilizza il metodo setIntHeader() per impostare l'intestazione di ricarica, per simulare un orologio digitale:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title> esempio di aggiornamento automatico </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>

将以上代码保存在 main.jsp 文件中,访问它。它会每隔5秒钟刷新一次页面并获取系统当前时间。运行结果如下:

刷新自动实
当前时间为: 6:5:36 PM

您也可以自己动手写一个更复杂的程序。