JSP自動刷新
在本章中,我們將討論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並等待查看結果 -