动态生成行列和标题

时间:2014-01-15 19:28:43

标签: java html database jsp html-table

我需要编写一个表,其中行和列以及标题是动态的。以前我用HTML和标题显示标签对表进行硬编码,以显示数据库中的详细信息。现在,由于列和标题也根据我项目中的不同要求而变化,我需要做一切动态的事情。任何有关使用内容的建议都将受到赞赏。

所以这就是我之前的做法:

 <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="1" style="text-align: center;">
            <TR>
                <TH>Header1</TH>
                <TH>Header2</TH>
                <TH>Header3</TH>
                <TH>Header4</TH>
            </TR>
            <c:forEach var="i" begin="0" end="${value.getHeader1().size() - 1}">
                <TR>
                    <TD>
                            ${value.getHeader1().get(i)}
                    </TD>
                    <TD>
                            ${value.getHeader2().get(i)}
                    </TD>
                    <TD>
                            ${value.getHeader3().get(i)}
                    </TD>
                    <TD>
                            ${value.getHeader4().get(i)}
                    </TD>
                </TR>
            </c:forEach>
        </TABLE>

从上面的<table>架构中,标头是硬编码的。现在我需要使它成为动态的,并且基于任何特定的要求和选择,我的servlet将在这样的动态行为表中查询和传递结果。

任何有关这方面的帮助都非常有用而且很棒!

1 个答案:

答案 0 :(得分:0)

首先,从headers变量中获取value数组。

- 对于标头迭代,您可以从数组

获取第一个标头对象

- 对于值迭代,为每个头对象执行for循环

<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="1" style="text-align: center;">
   <TR>
      <c:forEach var="h" items="${value.getHeaders.get(0)}">
         <TH>${h.title}</TH>
      </c:forEach>
   </TR>
   <c:forEach var="headers" items="${value.getHeaders()}">
      <TR>
         <c:forEach var="header" items="${headers.getHeader}">
            <TD>${header.value}</TD>
         </c:forEach>
      </TR>
   </c:forEach>
</TABLE>