JSP - 自动刷新( Auto Refresh)
在本章中,我们将讨论JSP中的Auto Refresh。 考虑一个显示实时游戏得分或股票市场状态或货币兑换率的网页。 对于所有此类类型的页面,您需要使用浏览器的刷新或重新加载按钮定期刷新网页。
JSP为您提供了一种机制,您可以通过这种机制创建一个网页,使其在给定的时间间隔后自动刷新。
刷新网页的最简单方法是使用响应对象的setIntHeader()方法。 以下是此方法的签名 -
public void setIntHeader(String header, int headerValue)
此方法将标题“Refresh”发送回浏览器以及一个整数值,该值表示以秒为单位的时间间隔。
自动页面刷新示例
在下面的示例中,我们将使用setIntHeader()方法设置Refresh标头。 这有助于模拟数字时钟 -
<%@ page import = "java.io.*,java.util.*" %>
<html>
<head>
<title>Auto Refresh Header Example</title>
</head>
<body>
<center>
<h2>Auto Refresh Header Example</h2>
<%
// Set refresh, autoload time as 5 seconds
response.setIntHeader("Refresh", 5);
// 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("Crrent Time: " + CT + "\n");
%>
</center>
</body>
</html>
现在将上面的代码放在main.jsp并尝试访问它。 这将显示每5秒后的当前系统时间,如下所示。 只需运行JSP并等待查看结果 -
<h2 align="center">Auto Refresh Header Example</h2>
Current Time is: 9:44:50 PM