我在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>
答案 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}}