我有一个HTMl表单,它有一个datepicker字段。我正在使用AJAX将此参数发送到JSP,并将此日期与数据库进行比较。如果找到匹配项,它应该动态创建行并打印表日期。
我的问题是我应该在哪里放置表创建的代码 - 内部JSP或使用DOM的AJAX。
我尝试使用AJAX来做,但responseText
正在返回一个由space分隔的字符串。所以我想使用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();
}
%>
答案 0 :(得分:1)
对于打印表,您可以在jsp页面中使用HTML标记
喜欢
while(rs.next())
{if(rs.getDate(3).equals(sqlDate))
{
String sql = "<table><tr><td>"+rs.getString(1)+"</table></tr></td>";
}
}}
或者对于使用ajax的击球手,您可以使用此link