JSP 自動重新整理

JSP 自動重新整理

想象一下,如果要直播比賽的比分,或股票市場的實時狀態,或當前的外匯配給,該怎麼實現呢?顯然,要實現這種實時功能,您就不得不規律性地重新整理頁面。

JSP提供了一種機制來使這種工作變得簡單,它能夠定時地自動重新整理頁面。

重新整理一個頁面最簡單的方式就是使用response物件的setIntHeader()方法。這個方法的簽名如下:

public void setIntHeader(String header, int headerValue)

這個方法通知瀏覽器在給定的時間後重新整理,時間以秒為單位。


頁面自動重新整理程式示例

這個例子使用了setIntHeader()方法來設定重新整理頭,模擬一個數字時鐘:

<%@ 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>

把以上程式碼儲存在main.jsp檔案中,訪問它。它會每隔5秒鐘重新整理一次頁面並獲取系統當前時間。執行結果如下:

自動重新整理實

當前時間為: 6:5:36 PM

您也可以自己動手寫個更復雜點的程式。