# Работа с переменными **Описание:** В этом задании вы исследуете и используете различные типы локальных переменных в Thymeleaf в представлениях вашего приложения Spring. К ним относятся переменные, определенные непосредственно в представлении, переменные, переданные из контроллера, переменные, определенные в файле свойств для локализации, и статические переменные, определенные в классе конфигурации Thymeleaf. ## **Шаги:** 1. **Определение локальных переменных в представлении Thymeleaf:** - Откройте файл представления Thymeleaf (например, `first.html`). - Изучите использование локальных переменных, определенных непосредственно в представлении. - В предоставленном примере кода: ```html Title ``` Локальная переменная `title` определена внутри секции `` HTML. 2. **Локализация переменных из файла свойств:** - Просмотрите конфигурацию бина `MessageSource` в вашем классе конфигурации Thymeleaf: ```java @Bean public MessageSource messageSource() { ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.addBasenames("classpath:local/practice"); messageSource.setDefaultEncoding("UTF-8"); return messageSource; } ``` - Создайте файл `practice.properties` в папке `/src/main/resources/local/` и добавьте следующее содержимое: ```properties student.name=MyName student.group=PRE-121 message.welcome=Welcome, {0} message.info=Your Group is: {0} ``` **Примечание о `{0}`:** - Обозначение `{0}` в локализационных сообщениях представляет собой заполнитель для переменной. Когда сообщение отображается, заполнитель `{0}` заменяется фактическим значением, предоставленным в сообщении. Например, в сообщении `Welcome, {0}`, `{0}` будет заменено значением переменной, таким как имя. - Изучите использование локализованных переменных в представлении Thymeleaf с использованием синтаксиса `#{}`. - В предоставленном примере кода: ```html

``` Переменные `student.name`, `student.group`, `message.welcome` и `message.info` все реализуют эту идею. 3. **Статические переменные в классе конфигурации Thymeleaf:** - В своем классе конфигурации Thymeleaf добавьте статические переменные с использованием метода `addStaticVariable`: ```java @Bean public ViewResolver thymeleafViewResolver() { ThymeleafViewResolver resolver = new ThymeleafViewResolver(); resolver.addStaticVariable("projectName", "Practice Tasks"); resolver.addStaticVariable("currentDateTime", LocalDateTime.now()); resolver.setTemplateEngine(templateEngine()); return resolver; } ``` - Получите доступ к этим статическим переменным в представлении Thymeleaf с использованием синтаксиса `#vars`. - В предоставленном примере кода: ```html

Project Name

Current Date and Time

``` ## Результат теперь ваша страница должна выглядеть так: ![first-view.png](../../../srcs/thymeleaf/first-view.png) --- # [СЛЕДУЮЩЕЕ ЗАДАНИЕ: *Переменные и контроллер*](variables-and-controller.md)