列中的表

时间:2012-10-02 01:19:37

标签: html jsp jstl html-table

我在jsfiddle.net中有一个示例表,我的表应该是什么样子

第二列可以有多个与原始列重合的行。我很困惑如何使用jstl <c:forEach>

来实现这一目标

这是我编写的代码,它打印同一行中的所有内容,因为我没有内部foreach的任何break语句,但我想要类似于jsfiddle中的内容

<c:forEach items="${abc.bcd }" var="abc">
<tr>
<td align="center"><c:out value="${abc.interval }" /></td>
<td><c:out value="${abc.operation}" /></td>
<td>
<c:forEach items="${abc.parts.info}" var="info">
<c:out value="${info.number}" />
<c:out value="${info.quantity}" />
<c:out value="${info.name}" />
</c:forEach>                        
</td>
</tr>
</c:forEach>

2 个答案:

答案 0 :(得分:0)

我不知道如何详细说明基于HTML的表如何工作的规范,但总体来说,单个列中的行并不是它开发工作的方式。由于具有列的行的比例需要在说话时平衡。

如果您有一个需要行外观的列,最好在该列中放置一个新表并在其中构建所述行的外观

示例:

<table>
   <tr>
     <td>
       <table>
         <tr>
           <td>Info</td>
           <td>Info</td>
           <td>Info</td>
         </tr>
       </table>
    </td>
  </tr>
</table>

答案 1 :(得分:0)

看看到目前为止构建的内容,看起来abc.parts.info位于<c:forEach items="${abc.bcd}" var="abc"> <tr> <td align="center"><c:out value="${abc.interval}" /></td> <td><c:out value="${abc.operation}" /></td> <c:forEach items="${abc.parts.info}" var="info"> <td><c:out value="${info.value}" /></td> </c:forEach> </tr> </c:forEach> 。如果您有一个有序的地图,例如Map,则可以LinkedHashMap

<c:forEach items="${abc.bcd}" var="abc">
  <tr>
    <td align="center"><c:out value="${abc.interval}" /></td>
    <td><c:out value="${abc.operation}" /></td>
    <td><c:out value="${abc.parts.info['number']}" /></td>
    <td><c:out value="${abc.parts.info['quantity']}" /></td>
    <td><c:out value="${abc.parts.info['name']}" /></td>
  </tr>
</c:forEach>

如果您有一个无序的地图,例如iterate trough the map,您可以使用EL访问地图中的值(假设您的键是字符串):

{{1}}