Чтобы вывести содержимое на страницу с использованием Thymeleaf, вам понадобится создать веб-страницу на HTML с встроенными Thymeleaf шаблонами и привязать ее к соответствующим атрибутам модели в вашем Spring MVC контроллере. Вот базовые шаги для этой задачи:
1. Создайте HTML-страницу с расширением `.html` в каталоге `resources/templates` вашего Spring Boot проекта (или аналогичном месте для статических ресурсов).
2. В контроллере Spring MVC передайте данные, которые вы хотите отобразить, в вашу модель с помощью метода `addAttribute` класса `Model`.
Пример контроллера:
```java
@Controller
public class LoggingController {
@RequestMapping("/logs")
public String showLogs(Model model) {
// Здесь предполагается, что вы уже получили и отфильтровали логи
Map<String, List<LogEntry>> groupedLogs = fetchAndFilterLogs();
model.addAttribute("groupedLogs", groupedLogs);
return "logspage"; // Имя вашего HTML-файла Thymeleaf без расширения .html
}
// Ваш метод для получения логов
private Map<String, List<LogEntry>> fetchAndFilterLogs() {
// Ваша логика для получения и фильтрации логов
return new HashMap<>();
}
}
```
3. В вашем HTML-файле используйте Thymeleaf синтаксис для вывода данных на страницу.
Например, `logspage.html` может выглядеть так:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<!-- Мета-данные, стили и так далее -->
<title>Logs Page</title>
</head>
<body>
<h1>Log Entries</h1>
<div th:each="userGroup : ${groupedLogs}">
<h2 th:text="${userGroup.key}">User Name</h2>
<ul>
<li th:each="log : ${userGroup.value}" th:text="${log.message}">Log message</li>
</ul>
</div>
</body>
</html>
```
В этом шаблоне:
- `xmlns:th="http://www.thymeleaf.org"` осуществляет привязку к Thymeleaf namespace для использования Thymeleaf атрибутов.
- `th:each="userGroup : ${groupedLogs}"` проходится по всем элементам сгруппированного по пользователям словаря логов, который был передан из модели.
- `th:text="${userGroup.key}"` отображает имя пользователя.
- Внутренний `th:each` цикл проходится по всем логам относящимся к данному пользователю и выводит соответствующее сообщение лога.
Убедитесь, что класс `LogEntry`, используемый в контроллере, имеет свойство `message`, доступное через геттер, чтобы Thymeleaf мог его отобразить.