无法使用 servlet 创建正确的 table
Unable to create proper table with servlet
我正在使用 j2ee 和 HTML 开发我的大学实习项目技术。我能够从数据库中检索数据,也能够创建显示结果的 table。问题是 table 首先显示结果,然后在第二行显示 headers 名称。请帮助我解决这个问题,并让我知道如何使用 servlet 代码创建一个 html 页面,该页面可以根据用户的要求编辑数据库中的数据。非常感谢。
这是代码。
PrintWriter out = response.getWriter();
String sql;
String input = request.getParameter("list");
String txtField = request.getParameter("txtField");
try {
sql = String.format("select * from adddriver where (%s) = '%s'",input, txtField);
ResultSet rs = DBConnection.executeQuery(sql);
ResultSetMetaData metadata = rs.getMetaData();
int colCount = metadata.getColumnCount();
out.println("<table border=1>" + "<tr>");
for(int i=1;i<=colCount;i++)
{
out.println("<th>"+metadata.getColumnName(i)+"</th>");
}
out.println("</tr>");
/* Printing result */
while(rs.next())
{
String[] rowData = new String[colCount];
for(int i =0; i<colCount; i++){
rowData[i] = rs.getString(i+1);
out.println(rowData[i]);
//out.println("<tr><td>"+rs.getInt(1)+"</td><td>"+rs.getString(2)+" </td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td><td>"+rs.getString(5)+" </td><td>"+rs.getString(6)+" </td></tr>");
}
}
}
catch(SQLException sqe){
sqe.getStackTrace();
}
}
像这样用封闭的 tr td 标签编写你的 while 循环:
while(rs.next())
{
out.println("<tr>"
String[] rowData = new String[colCount];
for(int i =0; i<colCount; i++){
rowData[i] = rs.getString(i+1);
out.println("<td>"+rowData[i]+"</td>");
}
out.println("</tr>");
}
out.println("</table>"); ///write this outside while loop
我正在使用 j2ee 和 HTML 开发我的大学实习项目技术。我能够从数据库中检索数据,也能够创建显示结果的 table。问题是 table 首先显示结果,然后在第二行显示 headers 名称。请帮助我解决这个问题,并让我知道如何使用 servlet 代码创建一个 html 页面,该页面可以根据用户的要求编辑数据库中的数据。非常感谢。
这是代码。
PrintWriter out = response.getWriter();
String sql;
String input = request.getParameter("list");
String txtField = request.getParameter("txtField");
try {
sql = String.format("select * from adddriver where (%s) = '%s'",input, txtField);
ResultSet rs = DBConnection.executeQuery(sql);
ResultSetMetaData metadata = rs.getMetaData();
int colCount = metadata.getColumnCount();
out.println("<table border=1>" + "<tr>");
for(int i=1;i<=colCount;i++)
{
out.println("<th>"+metadata.getColumnName(i)+"</th>");
}
out.println("</tr>");
/* Printing result */
while(rs.next())
{
String[] rowData = new String[colCount];
for(int i =0; i<colCount; i++){
rowData[i] = rs.getString(i+1);
out.println(rowData[i]);
//out.println("<tr><td>"+rs.getInt(1)+"</td><td>"+rs.getString(2)+" </td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td><td>"+rs.getString(5)+" </td><td>"+rs.getString(6)+" </td></tr>");
}
}
}
catch(SQLException sqe){
sqe.getStackTrace();
}
}
像这样用封闭的 tr td 标签编写你的 while 循环:
while(rs.next())
{
out.println("<tr>"
String[] rowData = new String[colCount];
for(int i =0; i<colCount; i++){
rowData[i] = rs.getString(i+1);
out.println("<td>"+rowData[i]+"</td>");
}
out.println("</tr>");
}
out.println("</table>"); ///write this outside while loop