Перейти к основному содержимому

Thymeleaf перечисляет служебный объект

· 2 мин. чтения

1. Обзор

Thymeleaf — это шаблонизатор Java для обработки и создания HTML.

В этом кратком руководстве мы рассмотрим служебный объект списков Thymeleaf для выполнения общих операций на основе списков.

2. Вычисление размера

Во- первых, метод size возвращает длину списка. Мы можем включить его, скажем, через атрибут th:text :

size: <span th:text="${#lists.size(myList)}"/>

myList — это наш собственный объект. Мы бы передали его через контроллер :

@GetMapping("/size")
public String usingSize(Model model) {
model.addAttribute("myList", getColors());
return "lists/size";
}

3. Проверка, пуст ли список

Метод isEmpty возвращает true , если в данном списке нет элементов:

<span th:text="${#lists.isEmpty(myList)}"/>

Как правило, этот служебный метод используется с условными выражениями — th:if и th:unless :

<span th:unless="${#lists.isEmpty(myList)}">List is not empty</span>

4. Проверка членства

Метод contains проверяет , является ли элемент членом данного списка:

myList contains red: <span th:text="${#lists.contains(myList, 'red')}"/>

Точно так же мы можем проверить принадлежность нескольких элементов, используя метод containsAll :

myList contains red and green: <span th:text='${#lists.containsAll(myList, {"red", "green"})}'/>

5. Сортировка

Метод sort позволяет нам сортировать список:

sort: <span th:text="${#lists.sort(myList)}"/>

sort with Comparator: <span th:text="${#lists.sort(myList, reverse)}"/>

Здесь у нас есть два перегруженных метода сортировки . Во-первых, мы сортируем наш список в естественном порядке — ${#lists.sort(myList)}. Во-вторых, мы передаем дополнительный параметр типа Comparator . В нашем примере мы получаем этот компаратор из модели.

6. Преобразование в список

Наконец, мы можем преобразовать Iterable и массивы в List с помощью метода toList .

<span th:with="convertedList=${#lists.toList(myArray)}">
converted list size: <span th:text="${#lists.size(convertedList)}"/>
</span>

Здесь мы создаем новый List , convertList , а затем печатаем его размер с помощью # lists.size.

7. Резюме

В этом руководстве мы исследовали служебный объект встроенных списков Thymeleaf и способы его эффективного использования.

Как всегда, исходный код всех примеров доступен на GitHub .