我正在尝试创建一个根据不同大小的列表创建的表。
我有汽车List<Car>
的列表。因此,我想在标题中放置我所做的不同公司的名称。
然后我有一个List<List<CarSales>>
,并不是每个carSales中都存在所有Car。
所以我想遍历每个tr的列表列表(也可以)
然后我想遍历列表中的td并将CarSales.sales放在正确的td中,其中标头的CarSales.mark = Car.makr。
因此,如果List<Cars>
是(我的意思是Cars.mark)
[BMW, MERCEDES,FIAT]
List<List<CarSales>>
是(我的意思是内部有标记和销售的对象)
[[BMW:5,FIAT:10],[MERCEDES:12]]
我想要一张桌子,上面有:
BMW - MERCEDES - FIAT
5 - 0 - 10
0 - 12 - 0
答案 0 :(得分:1)
您也许可以这样做...但是,如果List<List<CarSales>>
改为List<Map<String, Integer>>
(其中键是标记,而值是),则可以使标记简单得多。销售)。然后您可能会遇到这样的事情:
<table>
<tr>
<th th:each="car: ${cars}" th:text="${car.mark}" />
</tr>
<tr th:each="sale: ${carSales}">
<td th:each="car: ${cars}" th:text="${sale.get(car.mark)} ?: 0" />
</tr>
</table>
如果您想使用原始结构,则可能会发生类似的事情,但是维护起来会更加混乱:
<table>
<tr>
<th th:each="car: ${cars}" th:text="${car.mark}" />
</tr>
<tr th:each="sales: ${carSales}">
<td th:each="car: ${cars}" th:with="sale=${sales.^[mark==#root.car.mark]}" th:text="${sale?.sales} ?: 0" />
</tr>
</table>