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

Работа с перечислениями в Thymeleaf

Узнайте, как работать с перечислениями в Thymeleaf.

Автор оригинала: 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 .