14/08/2018, 10:57

Auto Refresh trong JSP

Với một Webpage mà hiển thị chỉ số chứng khoán, exchange rate, … thì bạn cần Refresh các trang này bởi sử dụng nút Refresh hoặc Reload trên trình duyệt của bạn. JSP giúp công việc này được thực hiện dễ dàng hơn bằng việc cung cấp cho bạn một kỹ thuật giúp bạn Refresh trang web một ...

Với một Webpage mà hiển thị chỉ số chứng khoán, exchange rate, … thì bạn cần Refresh các trang này bởi sử dụng nút Refresh hoặc Reload trên trình duyệt của bạn.

JSP giúp công việc này được thực hiện dễ dàng hơn bằng việc cung cấp cho bạn một kỹ thuật giúp bạn Refresh trang web một cách tự động sau một khoảng thời gian đã cho.

Cách đơn giản nhất để Refresh một Webpage là sử dụng phương thức setIntHeader() của đối tượng Response. Sau đây là cú pháp cho phương thức này:

public void setIntHeader(String header, int headerValue)

Phương thức này gửi trường header là "Refresh" trở lại trình duyệt cùng một giá trị integer chỉ khoảng thời gian bằng giây.

Ví dụ về Auto Refresh trong JSP

Sau đây là ví dụ minh họa cách một JSP thực hiện việc Auto Refresh một Webpage bởi sử dụng phương thức setIntHeader() để thiết lập Refresh header.

<%@ 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 + "
");
%>
</center>
</body>
</html>

Bây giờ đặt code trên trong main.jsp và thử truy cập nó. Nó hiển thị system time hiện tại sau mỗi 5 s như sau. Bạn chạy JSP này và đợi kết quả:

Auto Refresh Header Example

Current Time is: 9:44:50 PM

0