小编典典

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

jsp

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

如何动态创建我不知道的行和列?如果仅创建一行,那么我会很容易地做到这一点,但是我也想在页面上动态创建列,所以这使我困惑如何执行它?

我的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>

现在,我正在显示第一列,<td>但是如果用户不知道将要检索多少列,那该怎么办?因为select query我已经习惯了,*所以我对服用感到困惑<td>。我想全部动态,因为假设我也将使用任何文本框或url动态传递表名。

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

这就是为什么我希望所有内容都是动态的,但是我不知道该怎么做。


阅读 322

收藏
2020-06-08

共1个答案

小编典典

试试这个代码:

<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>
2020-06-08