Рубрики
Без рубрики

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

Узнайте, как использовать массивы в механизме шаблонов Thymeleaf.

Автор оригинала: baeldung.

1. Обзор

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

Основы Spring MVC и Thymeleaf можно найти здесь .

2. Зависимость от Тимелифа

В вашем 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. Вид

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

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

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

......

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

Следовательно, мы получаем доступ к значению каждого элемента массива континентов по его индексу точно так же, как мы это делаем в нашем обычном коде Java :

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

4.2. Итерация

Аналогично, мы можем последовательно перебирать элементы массива .

В Тимелиф, вот как мы можем этого добиться:

При использовании th:каждое ключевое слово для итерации по элементу массива мы не ограничиваемся использованием только тегов списка. Мы можем использовать любой HTML-тег, способный отображать текст на странице. Например:

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

4.3. Служебные функции

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

Давайте взглянем на это:

The greatest continents.

Europe is a continent: .

Array of continents is empty .

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

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

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

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

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

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