【问题标题】:Unable to create proper table with servlet无法使用 servlet 创建正确的表
【发布时间】:2015-06-04 17:41:43
【问题描述】:

我正在使用带有 HTML 的 j2ee 开发我的大学实习项目技术。我能够从数据库中检索数据,还能够创建显示结果的表。问题是表格首先显示结果,然后在第二行显示标题名称。请帮助我,并让我知道如何使用 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();
        }
        } 

【问题讨论】:

  • 您忘记将结果行包含在 标记中。这会弄乱表格输出。
  • 你说的我查过了,但没找到。请帮忙。
  • 您的代码存在 SQL 注入漏洞。考虑改用 PreparedStatement。

标签: java html jakarta-ee servlets


【解决方案1】:

用封闭的 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

【讨论】:

  • 它可以工作...谢谢...。如果用户需要,您能帮我创建一个可以搜索数据并将数据编辑到数据库中的编辑表单。
  • 先生,您能帮我创建一个编辑表单,如果用户需要,可以搜索并将数据编辑到数据库中。
  • 表示您想在可编辑的表单上获取用户的当前详细信息,并在用户编辑后将其保存回数据库??
  • 我正在使用servlet技术和html。
  • 我可以指导您完成此操作。首先,当您的 html 页面加载时,您必须向您的 servlet 发出 ajax 请求,并在这样的 JSON 对象中获取用户的详细信息... @987654321 @ .. 为此,您必须使用 AJAX ..
猜你喜欢
相关资源
最近更新 更多
热门标签