java - jsp页面如何只刷新一个分区

标签 java jsp

我正在开发一个Web应用程序,我有一个jsp页面,其中有一个表格和其他一些东西。我想要的只是每5秒刷新一次表格的内容。下面是我的jsp页面代码。任何人都可以吗帮我解决我的问题。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"       "http://www.w3.org/TR/html4/loose.dtd">

<%@ page language="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.text.DateFormat" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<HTML>
<HEAD>
    <TITLE>Welcome to Crevavi </TITLE>

</HEAD>

<div style="width:950px; height:900; padding:10px; border:10px ridge black;">
<body bgcolor="white"; border="3px">
<img src="Crevavi_Plain.jpg" background-color="white"  width="100" height="25" style=float:right;/>
<h1 style=margin-left:2px;><font size="5">  Crevavi  Web  Application</font></h1>
<hr color="black">

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
var auto = setInterval(    function ()
         {
              $("#result").load("NewTable.html #result");
         }, 5000); // refresh every 5000 milliseconds
        </script>

//I want only the below division to refresh every 5 seconds.



  <div id="result" style="width:930px; height:500; padding:5px; border:5px ridge black;">
 <% 
    int rowCount = 0;
    /*Calendar cal = Calendar.getInstance();
    Date date1=cal.getTime();
    DateFormat dateFormat = new SimpleDateFormat("dd/MM/yy,HH:mm:ss");
    String formattedDate=dateFormat.format(date1);
    System.out.println("Current time of the day using Calendar - 24 hour format: "+ formattedDate);
    String[] values = formattedDate.split(",");
    String date = values[0];
    String time = values[1];*/

Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/students","root","root");

        Statement statement = connection.createStatement() ;

       /* String sql = "INSERT INTO TEXTDATA (MachID,Date,Time,Text1,Text2,Text3,Text4,Text5,Text6,Text7,Text8,Text9,Text10,Text11,Text12) VALUES  ('123','"+date+"','"+time+"','My','hello','thankyou','welcome','visit again','haha','good morning','sweet dreams','hi','hello','night','work')";
          ((java.sql.Statement) statement).executeUpdate(sql);*/

        ResultSet resultset = statement.executeQuery("select * from textdata order by Date desc, Time desc"); 
        while(resultset.next()){
            rowCount++;
        }
        int firstrow = rowCount-10;
        System.out.println(firstrow);
        if(rowCount > 10){
         resultset = statement.executeQuery("select * from textdata where Rowcount>'"+firstrow+"' order by Date desc, Time desc");  
        }else{
         resultset = statement.executeQuery("select * from textdata order by Date desc, Time desc");    
        }

    %>



    <TABLE BORDER="1">
        <TR>
            <TH>Mach ID</TH>
            <TH>Date</TH>
            <TH>Time</TH>
            <TH>Text1</TH>
            <TH>Text2</TH>
            <TH>Text3</TH>
            <TH>Text4</TH>
            <TH>Text5</TH>
            <TH>Text6</TH>
            <TH>Text7</TH>
            <TH>Text8</TH>
            <TH>Text9</TH>
            <TH>Text10</TH>
            <TH>Text11</TH>
            <TH>Text12</TH>
        </TR>
        <% while(resultset.next()){ %>

        <TR>
            <TD> <%= resultset.getInt(1) %></td>
            <TD> <%= resultset.getString(2) %></TD>
            <TD> <%= resultset.getString(3) %></TD>
            <TD> <%= resultset.getString(4) %></TD>
            <TD> <%= resultset.getString(5) %></TD>
            <TD> <%= resultset.getString(6) %></TD>
            <TD> <%= resultset.getString(7) %></TD>
            <TD> <%= resultset.getString(8) %></TD>
            <TD> <%= resultset.getString(9) %></TD>
            <TD> <%= resultset.getString(10) %></TD>
            <TD> <%= resultset.getString(11) %></TD>
            <TD> <%= resultset.getString(12) %></TD>
            <TD> <%= resultset.getString(13) %></TD>
            <TD> <%= resultset.getString(14) %></TD>
            <TD> <%= resultset.getString(15) %></TD>

        </TR>
        <% } %>
    </TABLE>
    </div>
    </br>

    <form name = "Field_Details" action = "ServletApp" method= "get">
    <fieldset style="float: center; width:900px; height: 75px;background-color:ivory; border-color:black;">
    <font size = "2">Output Field :</font> <input type="text" name="Text1" maxlength="50"  style="height:15px; width:100px; border-color:black"><font size = "2"></font>
    <font size = "2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MachId :</font> <input type="text" name="Text2" maxlength="15"  style="height:15px; width:100px; border-color:black"><font size = "2"></font>
    <font size = "2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;From Date(dd/mm/yy) :</font> <input type="text" name="Text3" maxlength="8"  style="height:15px; width:100px; border-color:black"><font size = "2"></font>
    <font size = "2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;To Date(dd/mm/yy) :</font> <input type="text" name="Text4" maxlength="8"  style="height:15px; width:100px; border-color:black"><font size = "2"></font><br><br>
    <input type= "submit" value="Send" style="height:30px; width:80px; margin-left:15px">
    <input type= "submit" value="Search" style="height:30px; width:80px; margin-left:700px" onclick="form.action='FirstServlet';">

</BODY>
</HTML>   

最佳答案

JSP 是一种服务器端技术,这意味着如果您想刷新页面,您必须向服务器发出请求,服务器将返回新页面。通过正常的 JSP 机制不可能只返回页面的一部分。

如果您只想刷新表格,则需要使用 JavaScript 对服务器进行 ajax 调用以获取所需的数据,并使用此数据重新填充表格。

关于java - jsp页面如何只刷新一个分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35452932/

相关文章:

java - 如何跟踪基于 javapackager 的应用程序在 macOS 上启动时执行的操作?

java - 使随机字符串小写

Java:hashmap 和 keyset() 的问题

java - java中什么是兼容不兼容对象?

java - 在 View 中有条件地呈现 HTML 的简洁方法?

java - 使用 servlet 上的 doGet() 方法处理繁重的操作

java - JSP:下拉列表 2 取决于下拉列表 1

java - 导出到 json 时生成的数据库实体的循环依赖

html - <br> 不换行,查看源代码也显示 <br>

java - Tomcat 找不到 JSP 文件