Автор оригинала: Amy DeGregorio.
1. введение
В этом кратком руководстве мы узнаем, как работать с перечислениями в Thymeleaf .
Мы начнем с перечисления значений перечисления в раскрывающемся списке. После этого мы рассмотрим использование нашего перечисления для управления потоком в наших шаблонах.
2. Настройка
Давайте начнем с добавления Spring Boot starter для Thymeleaf в ваш pom.xml файл:
org.springframework.boot spring-boot-starter-thymeleaf 2.2.2.RELEASE
Мы будем работать с виджетами, у которых есть несколько вариантов цвета, поэтому давайте определим наш Color enum:
public enum Color { BLACK, BLUE, RED, YELLOW, GREEN, ORANGE, PURPLE, WHITE }
Теперь давайте создадим наш Виджет класс:
public class Widget { private String name; private Color color; // Standard getters/setters }
3. Отображение перечислений в выпадающем меню
Давайте используем select и option для создания выпадающего списка, который использует наше Color перечисление:
Оператор T является частью языка выражений Spring | для указания экземпляра класса или доступа к статическим методам.
Если мы запустим наше приложение и перейдем на страницу ввода виджета, мы увидим все наши цвета в раскрывающемся списке Color :
Когда мы отправим нашу форму, наш Виджет объект будет заполнен выбранным цветом:
4. Использование отображаемого имени
Поскольку все заглавные буквы могут немного раздражать, давайте расширим наш пример, чтобы обеспечить более удобные для пользователя раскрывающиеся метки.
Мы начнем с изменения нашего перечисления Color , чтобы предоставить отображаемое имя:
public enum Color { BLACK("Black"), BLUE("Blue"), RED("Red"), YELLOW("Yellow"), GREEN("Green"), ORANGE("Orange"), PURPLE("Purple"), WHITE("White"); private final String displayValue; private Color(String displayValue) { this.displayValue = displayValue; } public String getDisplayValue() { return displayValue; } }
Затем давайте перейдем к нашему шаблону Thymeleaf и обновим раскрывающийся список, чтобы использовать новое значение display :
Наш выпадающий список теперь отображается с более удобочитаемыми названиями цветов:
5. Заявления If
Иногда мы можем захотеть изменить то, что мы показываем, на основе значений перечисления. Мы можем использовать наш Color enum с условными операторами Thymeleaf .
Давайте представим, что у нас есть мнения о некоторых возможных цветах виджетов.
Мы можем использовать оператор Thymeleaf if с нашим перечислением Color для условного отображения текста:
This color screams danger.
Другой вариант-использовать сравнение String :
Green is for go.
6. Операторы случая переключения
В дополнение к если заявления, Thymeleaf поддерживает распределительный ящик заявление.
Давайте использовать оператор switch-case с нашим Цветом перечислением:
Alert Warning Caution All Good
Если мы введем оранжевый виджет, мы увидим наше предупреждение:
7. Заключение
В этом уроке мы начали с использования Thymeleaf для создания раскрывающегося списка с использованием перечисления Color , которое мы определили в нашем приложении. Оттуда мы узнали, как сделать раскрывающиеся значения отображения более удобочитаемыми.
Пройдя через входную сторону с выпадающим списком, мы перешли к выходной стороне и узнали, как работать с перечислениями в структурах управления. Мы использовали оба оператора if и switch-case , чтобы обусловить некоторые элементы на основе нашего Color перечисления.
Полный пример доступен на GitHub .