簡體   English   中英

使用AJAX和JSP創建動態表

[英]Create dynamic table using AJAX and JSP

我有一個帶有日期選擇器字段的HTMl表單。 我正在使用AJAX將此參數發送到JSP,在此它將該日期與數據庫進行比較。 如果找到匹配項,則應動態創建行並打印表格日期。

我的問題是,應該將表創建的代碼放在JSP內還是使用DOM放在AJAX中。

我嘗試使用AJAX進行此操作,但是responseText返回的是一個由空格分隔的字符串,因此我想到了使用split和遍歷數組並動態創建元素的想法。 它不起作用。

function fetch()
{
    alert("sadasd");
    var c= new XMLHttpRequest();

    c.onreadystatechange= function()
    {
        if(c.readyState==4)
        {
            var text=c.responseText;
        }
    }

    c.open("GET","serv.jsp?filter="+document.getElementById("datepicker").value,true);
    c.send();
    x=text.split(" ");
    //document.write(x[1]);
}    

Serv.jsp

<%@page import="java.sql.*" %>
<% 
    try {
        Class.forName("com.mysql.jdbc.Driver");
        java.text.SimpleDateFormat st = new java.text.SimpleDateFormat("MM/dd/yyyy");
        java.util.Date utilDate = st.parse(request.getParameter("filter"));
        java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

        java.sql.Connection con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/ankur", "root", "root");
        PreparedStatement stm = con.prepareStatement("select * from employee");
        ResultSet rs = stm.executeQuery();

        while (rs.next()) {
            if (rs.getDate(3).equals(sqlDate)) {
                out.println(rs.getString(1));
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }    
%>

對於打印表,您可以在jsp頁面中使用HTML標記

喜歡

 while(rs.next())
    {if(rs.getDate(3).equals(sqlDate))
    {
          String sql = "<table><tr><td>"+rs.getString(1)+"</table></tr></td>";   
    }
    }}

或用於ajax的連擊,可以使用此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM