按月打破 table Thymeleaf
Breaking the table by month Thymealeaf
下午好。提示作为 Thymealeaf 的手段打破 table 月。
现在一切都按日期正确显示。但是我需要每个月的开始用字符串签名。
1 月。
1 月数据
二月
2 月数据。
等等
Table代码
<table class="table table-bordered table-hover table-sm table-fit">
<thead>
<tr>
<th>Дата начала по плану</th>
<th>Должность и подразделение</th>
<th>Шт.ед.</th>
<th>Причина</th>
<th>Дата окончания</th>
<th>Включение в план</th>
<th>Статус факт</th>
<th>Дата смещения плана</th>
<th>Филиалы</th>
</tr>
</thead>
<tbody>
<div th:each="d : ${descrirtion}">
<tr class="table-light">
<td th:text="${#dates.format(d.start_date, 'dd.MM.yyyy')}"> </td>
<td th:text="${d.position} + ' ' + ${d.subdivision}"></td>
<td th:text="${d.staff_unit}"></td>
<td th:text="${d.reason}"></td>
<td th:text="${#dates.format(d.end_date, 'dd.MM.yyyy')}"> </td>
<td th:text="${d.status_onit} ? 'Подтверждено':'Не подтверждено'"></td>
<td th:text="${d.status_fact} ? 'Подтверждено':'Не подтверждено'"></td>
<td th:text="${#dates.format(d.new_start_date, 'dd.MM.yyyy')}"></td>
<td th:text="${d.name}"></td>
</tr>
</div>
</tbody>
</table>
您可以添加一个 Map
,键为月份,值为控制器中该月的信息。
@GetMapping
public String page(Model model) {
Map<String, List<Description>> map = ....
model.addAttribute("map", map);
return "index";
}
然后在 Thymeleaf 中,你可以在地图上进行迭代:
<div th:each="element : ${map}">
<div> th:text="${element.key}">Month</div>
<div th:each="d : ${element.value}">
<tr class="table-light">
<td th:text="${#dates.format(d.start_date, 'dd.MM.yyyy')}"> </td>
<td th:text="${d.position} + ' ' + ${d.subdivision}"></td>
<td th:text="${d.staff_unit}"></td>
<td th:text="${d.reason}"></td>
<td th:text="${#dates.format(d.end_date, 'dd.MM.yyyy')}"> </td>
<td th:text="${d.status_onit} ? 'Подтверждено':'Не подтверждено'"></td>
<td th:text="${d.status_fact} ? 'Подтверждено':'Не подтверждено'"></td>
<td th:text="${#dates.format(d.new_start_date, 'dd.MM.yyyy')}"></td>
<td th:text="${d.name}"></td>
</tr>
</div>
</div>
下午好。提示作为 Thymealeaf 的手段打破 table 月。 现在一切都按日期正确显示。但是我需要每个月的开始用字符串签名。
1 月。
1 月数据
二月
2 月数据。 等等
Table代码
<table class="table table-bordered table-hover table-sm table-fit">
<thead>
<tr>
<th>Дата начала по плану</th>
<th>Должность и подразделение</th>
<th>Шт.ед.</th>
<th>Причина</th>
<th>Дата окончания</th>
<th>Включение в план</th>
<th>Статус факт</th>
<th>Дата смещения плана</th>
<th>Филиалы</th>
</tr>
</thead>
<tbody>
<div th:each="d : ${descrirtion}">
<tr class="table-light">
<td th:text="${#dates.format(d.start_date, 'dd.MM.yyyy')}"> </td>
<td th:text="${d.position} + ' ' + ${d.subdivision}"></td>
<td th:text="${d.staff_unit}"></td>
<td th:text="${d.reason}"></td>
<td th:text="${#dates.format(d.end_date, 'dd.MM.yyyy')}"> </td>
<td th:text="${d.status_onit} ? 'Подтверждено':'Не подтверждено'"></td>
<td th:text="${d.status_fact} ? 'Подтверждено':'Не подтверждено'"></td>
<td th:text="${#dates.format(d.new_start_date, 'dd.MM.yyyy')}"></td>
<td th:text="${d.name}"></td>
</tr>
</div>
</tbody>
</table>
您可以添加一个 Map
,键为月份,值为控制器中该月的信息。
@GetMapping
public String page(Model model) {
Map<String, List<Description>> map = ....
model.addAttribute("map", map);
return "index";
}
然后在 Thymeleaf 中,你可以在地图上进行迭代:
<div th:each="element : ${map}">
<div> th:text="${element.key}">Month</div>
<div th:each="d : ${element.value}">
<tr class="table-light">
<td th:text="${#dates.format(d.start_date, 'dd.MM.yyyy')}"> </td>
<td th:text="${d.position} + ' ' + ${d.subdivision}"></td>
<td th:text="${d.staff_unit}"></td>
<td th:text="${d.reason}"></td>
<td th:text="${#dates.format(d.end_date, 'dd.MM.yyyy')}"> </td>
<td th:text="${d.status_onit} ? 'Подтверждено':'Не подтверждено'"></td>
<td th:text="${d.status_fact} ? 'Подтверждено':'Не подтверждено'"></td>
<td th:text="${#dates.format(d.new_start_date, 'dd.MM.yyyy')}"></td>
<td th:text="${d.name}"></td>
</tr>
</div>
</div>