Я пытаюсь сортировать объекты, когда пользователь нажимает на цену или статус. До сих пор у меня есть эта страница, где я перечисляю пользовательские задачи обычным способом, используя тимелеф:
<div th:each="task: ${tasks}">
<div class="col-md-4">
<h4 th:text="${task.title}"></h4>...
Моя цель - когда пользователь нажимает на цена или принял список, чтобы отсортировать по цене или по статусу задачи. Я обнаружил, что тимилиф предлагает метод сортировки, где вы можете вставить свой список, но также и собственный компаратор, подобный этому:
th:each="task: ${#lists.sort(tasks,priceComparator)}"
На стороне контроллера у меня есть это:
List<Task> userTasks = getUserTasks();
Comparator<Task> priceComparator = new Comparator<Task>()
{
@Override
public int compare(Task task1, Task task2)
{
return task1.getPrice().compareTo(task2.getPrice());
}
};
И затем Я установил атрибуты, чтобы их можно было использовать на внешнем интерфейсе:
model.addAttribute("priceComparator",priceComparator);
model.addAttribute("tasks",userTasks);
Я не смог найти ничего в inte rnet о динамической сортировке списка объектов тимьяна с использованием различных критериев, таких как цена, статус и так далее (в моем случае). Любая помощь будет оценена.