JSP 自动刷新 (setIntHeader)
JSP response.setIntHeader 方法可以设置数值响应头
日常的开发中,偶尔会碰到某个页面每隔一定时间就要刷新一次,比如显示现场比赛成绩或股票市场状况或货币兑换率的页面
HTML 中的 meta 元标签可以设置网页自动刷新
<meta http-equiv="refresh" content="1;">
Java Servlet 的 response 对象中的 setIntHeader 方法可以设置 meta 标签
public void setIntHeader(String header, int headerValue)
比如我们要设置网页每隔 1s 刷新一次,对应的 HTML meta 标签是
<meta http-equiv="refresh" content="1;">
对应的 Java Servlet 方法是
response.setIntHeader("Refresh", 1);
范例
下面的范例演示了使用 response.setIntHeader() 方法设置刷新头,模拟一个数字时钟
auto_refresh.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!doctype html> <meta charset="utf-8"/> <title>自动刷新范例 - JSP 基础教程 | 简单教程(www.twle.cn)</title> <p>自动刷新范例 - JSP 基础教程 | 简单教程(www.twle.cn)</p> <% // 设置每隔1秒刷新一次 response.setIntHeader("Refresh", 1); // 获取当前时间 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"); %>
在浏览器上输入 http://localhost:8080/jsp/auto_refresh.jsp 来访问网页
这个网页会每隔 1 秒钟显示一次当前系统时间