JSP - автоматическое обновление

В этой главе мы обсудим автоматическое обновление в JSP. Рассмотрим веб-страницу, на которой отображается текущий счет игры, статус фондовой биржи или обмен валюты. Для всех таких типов страниц вам нужно будет регулярно обновлять свою веб-страницу, используя кнопку обновления или перезагрузки в вашем браузере.

JSP упрощает эту работу, предоставляя вам механизм, с помощью которого вы можете сделать веб-страницу таким образом, чтобы она автоматически обновлялась через заданный интервал.

Самый простой способ обновить веб-страницу - использовать setIntHeader()метод объекта ответа. Ниже приводится подпись этого метода -

public void setIntHeader(String header, int headerValue)

Этот метод отправляет в браузер заголовок «Обновить» вместе с целым числом, которое указывает временной интервал в секундах.

Пример автоматического обновления страницы

В следующем примере мы будем использовать 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 и дождитесь результата -

Auto Refresh Header Example

Current Time is: 9:44:50 PM