html 如何将包含对象列表的对象列表显示为表格?

nqwrtyyt  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(143)

我有两个java类:

public class Class1{

private String a;
private String b;
private List<Class2> list;
// Assume constructor, getter & setters
}

public class Class2{

private String c;
private String b;
// Assume constructor, getter & setters
}

在我的.jsp中,我尝试了如下内容:

**<table>
   <tbody>
      <tr>
        <th> col1 </th>
        <th> col2 </th>
        <th> col3 </th>
        <th> col4 </th>
       </tr>
      <%
       **List<Class1> list1 = // assume populated;**
       for(int i = 0; i < list1.size(); i++){
            Class1 obj = list1.get(i);
       %>
    <tr>
           <td><%=obj.getA()%></td>
           <td><%=obj.getB()%></td>
           <td>
             <table>
                 <tbody>
         <%
          List<Class2> list2 = obj.getList();
          for(int j = 0; j < list2.size(); j++){
              Class2 obj2 = list2.get(j);
         %>
                  <tr>
                     <td><%=obj2.getC()%></td>
                     <td><%=obj2.getD()%></td>
                  </tr>
              </tbody>
           </table>
       </td>
          <%
           }
           %>
      </tr>
       <%
        }
        %>
    </tbody>
 </table>**

我试图实现的是获得一个表,看起来像图像中的这个:

但我得到的是这样的东西:

问题是我无法将表数据放在正确的表头下。
如果我错过了一些信息,请让我知道。

  • 谢谢-谢谢
5vf7fwbs

5vf7fwbs1#

您的循环似乎已中断。您应该使用循环,并考虑以下结构:

<td>
  <table>
    <tbody>
      
        <tr><td>c1(obj1)</td></tr>
         <tr><td>c1(obj2)</td></tr>
      
    </tbody>
  </table>
  </td>
  
  <td>
  <table>
    <tbody>
      
        <tr><td>d1(obj1)</td></tr>
         <tr><td>d1(obj2)</td></tr>
      
    </tbody>
  </table>
  </td>

相关问题