在本章中,我們將討論JSP中的如何實現自動重新整理。典型的自動重新整理範例是:顯示現場比賽得分或股票市場狀況或貨幣兌換配給的網頁。對於所有這些型別的頁面,需要使用瀏覽器重新整理或重新載入按鈕定期重新整理網頁以更新(獲取)最新的資料資訊。
JSP可以為您提供一種機制,使我們能夠指定一個時間間隔自動重新整理網頁。
重新整理網頁的最簡單的方法是使用響應物件的setIntHeader()
方法。以下是這種方法的簽名 -
public void setIntHeader(String header, int headerValue)
此方法將標題「重新整理」傳送回瀏覽器以及指定時間間隔(以秒為單位)的整數值。
開啟Eclipse,建立一個動態Web專案:AutoRefresh,其專案中的JSP檔案及程式碼如下所示-
檔案:index.jsp -
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>自動涮新範例</title>
</head>
<body>
<div style="margin: auto; width: 80%">
<h2>JSP自動涮新範例</h2>
<%
// Set refresh, autoload time as 2 seconds
response.setIntHeader("Refresh", 2);
// Get current time
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");
%>
</div>
</body>
</html>
在上面的例子中,將使用setIntHeader()
方法來設定重新整理響應頭。這將有助於模擬數位時鐘。
編寫完成上面程式碼,部署並開啟瀏覽器嘗試存取URL: http://localhost:8080/AutoRefresh/
。 這將在每2
秒鐘後顯示當前系統時間,如下所示。 只需執行JSP並等待檢視結果 -