按月打破 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>