如何在jsp页面中动态创建表的行和列

Jav*_*s ღ 5 html database select jsp html-table

我正在尝试将数据从数据库检索到表中.但必须动态加载数据.

如何动态创建行和列我不知道?如果它只是要创建的行,那么我会轻松地完成它但我也想在页面上动态创建列,这就是为什么我很困惑如何执行它?

我的JSP代码:

<table width="59%" border="1">
    <%
        MySql1 o = new MySql1();
        o.connect();
        ResultSet r;
        int counter=1;
        String q = "select * from category_master;";
        r = o.getdata(q);
        while(r.next())
        {
            %>
                <tr>
                     <td><%= r.getString(1)%></td>                                      
                </tr>
            <% 
        }
    %>
</table>
Run Code Online (Sandbox Code Playgroud)

现在我正在显示第一列,<td>但如果用户不知道要检索多少列,那该怎么办?在select query我使用过,*所以我很困惑<td>.我希望所有动态,因为假设我将使用任何文本框或网址动态传递表名.

这里MySql1是一个具有执行操作的方法的类文件. connect()用于连接db,getdata()用于检索作为参数传递的查询数据和返回类型的getdata()方法Resultset.

所以这就是为什么我想要所有动态,但我不知道该怎么做.

Gau*_*gla 8

试试这段代码:

<table width="59%" border="1">
    <%
        MySql1 o = new MySql1();
        o.connect();
        ResultSet r;
        int counter=1;
        String q = "select * from category_master;";
        r = o.getdata(q);
        ResultSetMetaData metaData = r.getMetaData();
        while(r.next())
        {
            %>
                <tr>
                 <%
                 for(int i = 1; i<=metaData.getColumnCount();i++)
                    { %>
                     <td>
                     <%= r.getString(i)%>
                     </td>
                <% 
                    }
                %>                   
                </tr>
            <% 
        }
    %>
</table>
Run Code Online (Sandbox Code Playgroud)