橘子味的心
标题:JSP自动刷新

在本章中,我们将讨论JSP中的如何实现自动刷新。典型的自动刷新示例是:显示现场比赛得分或股票市场状况或货币兑换配给的网页。对于所有这些类型的页面,需要使用浏览器刷新或重新加载按钮定期刷新网页以更新(获取)最新的数据信息。

JSP可以为您提供一种机制,使我们能够指定一个时间间隔自动刷新网页。

刷新网页的最简单的方法是使用响应对象的setIntHeader()方法。以下是这种方法的签名 -

  1. public void setIntHeader(String header, int headerValue)
  2. HTML

此方法将标题“刷新”发送回浏览器以及指定时间间隔(以秒为单位)的整数值。

自动页面刷新示例

打开Eclipse,创建一个动态Web项目:AutoRefresh,其项目中的JSP文件及代码如下所示-

文件:index.jsp -

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ page import="java.io.*,java.util.*"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>自动涮新示例</title>
  9. </head>
  10. <body>
  11. <div style="margin: auto; width: 80%">
  12. <h2>JSP自动涮新示例</h2>
  13. <%
  14. // Set refresh, autoload time as 2 seconds
  15. response.setIntHeader("Refresh", 2);
  16.  
  17. // Get current time
  18. Calendar calendar = new GregorianCalendar();
  19. String am_pm;
  20.  
  21. int hour = calendar.get(Calendar.HOUR);
  22. int minute = calendar.get(Calendar.MINUTE);
  23. int second = calendar.get(Calendar.SECOND);
  24.  
  25. if (calendar.get(Calendar.AM_PM) == 0)
  26. am_pm = "AM";
  27. else
  28. am_pm = "PM";
  29. String CT = hour + ":" + minute + ":" + second + " " + am_pm;
  30. out.println("当前时间: " + CT + "\n");
  31. %>
  32. </div>
  33. </body>
  34. </html>
  35. HTML

在上面的例子中,将使用setIntHeader()方法来设置刷新响应头。这将有助于模拟数字时钟。

编写完成上面代码,部署并打开浏览器尝试访问URL: http://localhost:8080/AutoRefresh/。 这将在每2秒钟后显示当前系统时间,如下所示。 只需运行JSP并等待查看结果 -