Работа с массивами в 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.