Работа с массивами в Thymeleaf

Работа с массивами в Thymeleaf

1. обзор

В этом кратком руководстве мы увидим, как мы можем использовать массивы в Thymeleaf. Чтобы упростить настройку, мы воспользуемся инициализатором весенней загрузки для начальной загрузки нашего приложения.

Основы Spring MVC и Thymeleaf можно найти вhere.

2. Зависимость Thymeleaf

В нашем файлеpom.xml нам нужно добавить только зависимости SpringMVC и Thymeleaf:


    org.springframework.boot
    spring-boot-starter-thymeleaf



    org.springframework.boot
    spring-boot-starter-web

3. Контроллер

Для простоты давайте использовать контроллер только с одним методом, который обрабатывает запросыGET.

Это отвечает передачей массива объекту модели, который сделает его доступным для представления:

@Controller
public class ThymeleafArrayController {

    @GetMapping("/arrays")
    public String arrayController(Model model) {
        String[] continents = {
          "Africa", "Antarctica", "Asia", "Australia",
          "Europe", "North America", "Sourth America"
        };

        model.addAttribute("continents", continents);

        return "continents";
    }
}

4. Вид

На странице просмотра мы собираемся получить доступ к массивуcontinents по имени, которое мы передаем с (континенты) изour controller above.

4.1. Свойства и индексы

Одно из первых свойств, которое мы собираемся проверить, - это длина массива. Вот как мы можем это проверить:

......

И глядя на приведенный выше фрагмент кода со страницы просмотра, мы должны заметить использование ключевого словаth:text. Мы использовали его для печати значения переменной внутри фигурных скобок, в данном случае длины массива.

Следовательно,we access the value of each element of the array continents by its index just like we use to do within our normal Java code:

Как мы видели в приведенном выше фрагменте кода, каждый элемент доступен через его индекс. Мы можем перейти кhere, чтобы узнать больше о выражениях в Thymeleaf.

4.2. итерация

Аналогичноwe can iterate over the elements the array sequentially.

Вот как этого добиться в Thymeleaf:

При использованииth:each keyword to iterate over the element of an array мы не ограничены использованием только тегов списка. Мы можем использовать любой HTML-тег, способный отображать текст на странице. Например:

В приведенном выше фрагменте кода каждый элемент будет отображаться в отдельном теге<h4></h4>.

4.3. Сервисные функции

Наконец, мы собираемся использовать функции служебных классов для изучения некоторых других свойств массива.

Давайте посмотрим на это:

The greatest continents.

Europe is a continent: .

Array of continents is empty .

Сначала мы запрашиваем длину массива, а затем проверяем, является лиEurope элементом массиваcontinents.

Наконец, мы проверяем, пуст ли массивcontinents .

5. Заключение

В этой статье мы узнали, как работать с массивом в Thymeleaf, проверяя его длину и получая доступ к его элементам с помощью индекса. Мы также узнали, как перебирать его элементы в Thymeleaf.

Наконец, мы видели использование служебных функций для проверки других свойств массива.

И, как всегда, полный исходный код этой статьи можно найтиover on Github.