[English](../../en/thymeleaf/lab-work.md) | [中文](../../cn/thymeleaf/lab-work.md) | Русский
# Лабораторная работа по Thymeleaf
Добро пожаловать в лабораторную работу по Thymeleaf! Цель этой серии задач - помочь вам практиковаться и освоить Thymeleaf - шаблонизатор для Java-приложений. Независимо от того, являетесь ли вы начинающим или стремитесь улучшить свои навыки, эти практические задачи научат вас различным аспектам интеграции Thymeleaf в приложении Spring.
## Цель лабораторной работы
Цель этой лабораторной работы - помочь вам изучить Thymeleaf в среде Spring на практике. Thymeleaf широко используется для серверного рендеринга в веб-разработке. Прорешав эти задания, вы получите полезные знания о его конфигурации, использовании переменных, контроллерах, обработке форм и многом другом.
## Практические задачи
1. [Задача 1: Настройка Thymeleaf в Spring](practice/configure-thymeleaf.md)
2. [Задача 2: Создание первого представления](practice/create-first-view.md)
3. [Задача 3: Работа с переменными](practice/working-with-variables.md)
4. [Задача 4: Переменные и контроллер](practice/variables-and-controller.md)
5. [Задача 5: Итерация](practice/iteration.md)
6. [Задача 6: Литералы](practice/literals.md)
7. [Задача 7: Формы](practice/forms.md)
8. [Задача 8: Обработка форм](practice/form-handling.md)
9. [Задача 9: Query Parameter и валидация](practice/validation.md)
10. [Задача 10: Фрагменты и макеты](practice/fragments-and-layouts.md)
## Задачи лабораторной работы
1. **Задача 1: Создание HTML-макета с фрагментами**
- Создайте отдельные фрагменты для различных частей HTML-страницы, таких как навигационная панель, заголовок, header и подвал.
- Соберите эти фрагменты в один HTML-файл, чтобы создать полноценный макет веб страницы.
- Например:

2. **Задача 2: Создание домашней страницы с локализацией**
- Реализуйте домашнюю страницу, доступную по пути `/`.
- Используйте созданный в Задаче 1 макет для структурирования домашней страницы.
- Используйте выражения `#{}` для всего текстового содержимого на домашней странице, демонстрируя локализацию или сообщения из файла .properties.
- Например:

3. **Задача 3: Создание форм входа и регистрации**
- Создайте формы входа и регистрации для аутентификации пользователей.
- Используйте привязку модели Thymeleaf для обработки данных формы.
- Например:


4. **Задача 4: Валидация действий входа и регистрации**
- Реализуйте валидацию для действий входа и регистрации.
- Используйте параметры запроса для передачи сообщений об ошибках в случае неудачной валидации.
- Обеспечьте безопасное и правильное обращение с вводом пользователя.
- Например:

5. **Задача 5: Создание страницы пользователей**
- Разработайте страницу "Пользователи", отображающую таблицу пользователей.
- Реализуйте итерацию для динамического заполнения таблицы данными пользователей.
- Реализуйте функциональность для удаления или изменения записей пользователя на странице.
- Например:

