English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Thymeleaf является открытой Java-библиотекой на основе лицензия Apache 2.0 получить лицензию. Это HTML5/XHTML/XML движок шаблонов. Это движок, используемый для веб-среды (базирующейся на Servlet) и не веб-среды (офлайн) серверный шаблон Javaдвижок. Для современного HTML5 JVM веб-разработки это идеальный выбор. Он предоставляет полную интеграцию с Spring Framework.
Он применяет набор преобразований к файлу шаблона, чтобы отображать данные или текст, генерируемые приложением. Подходит для использования в веб-приложениях для предоставления XHTML/HTML5.
Цель Thymeleaf - предоставить стильнои формальноМетод создания шаблонов. Он основан на тегах и атрибутах XML. Эти XML-теги определяют выполнение предопределенной логики на DOM (модель объекта документа), а не пишут эту логику явно в виде кода в шаблоне. Он заменяет JSP .
архитектура Thymeleaf позволяет быстрая обработказависит от файла, подлежащего кэшированию. В процессе выполнения он использует минимальное количество операций ввода-вывода.
JSP больше или меньше напоминает HTML. Но он несовместим с HTML, как Thymeleaf. Мы можем открыть и отобразить файл шаблона Thymeleaf в браузере, но файл JSP не может быть открыт и отображен.
Thymeleaf поддерживает переменные выражения, такие как Spring EL ($ {...}), и выполняет их на атрибутах модели, выражениях с نجом (* {...}) в поддержке beans формы, хэш-выражениях (#{...}) для международнойализации и выражениях для перезаписи URL (@{......}).
Как и JSP, Thymeleaf может быть很好地 использован для создания Rich HTML электронной почты.
Thymeleaf может обрабатывать шесть типов шаблонов (также называемых" режим шаблона) как показано:
XML действительный XML XHTML действительный XHTML HTML5 старый режим HTML5
Кроме старого режима HTML5, все перечисленные режимы ссылаются на определенный XML файл. Это позволяет нам обрабатывать файлы HTML5 с независимыми тегами, атрибутами без значений или атрибутами, не записанными в кавычках.
Чтобы обрабатывать файлы в этом специфическом режиме, Thymeleaf выполняет преобразование, преобразуя файл в правильный XML файл (действительный файл HTML5).
Thymeleaf также позволяет определить свои шаблоны, указав два способа парсинга шаблонов в этом режиме. Таким образом, Thymeleaf может эффективно обрабатывать любые модели, которые можно моделировать как дерево DOM, как шаблоны.
Thymeleaf - шаблонный движок, который позволяет нам определять контекст узлов DOM. DOM-узлы, обрабатываемые в шаблоне.
Объект, применяющий логику к узлам DOM, называется процессор. Группа процессоров и некоторые дополнительные компоненты называются диалект. Диалект, включающий библиотеку ядра Thymeleaf, называется Стандартный диалект.
Если мы хотим использовать продвинутые функции библиотеки и одновременно определить свою логику обработки, мы можем определить свой диалект. Своего диалекта. В шаблонном движке мы можем конфигурировать несколько диалектов одновременно.
Пакет интеграции Thymeleaf (thymeleaf-spring3 и thymeleaf-spring4) определяет понятие SpringStandard Dialect диалект. Стандартный диалект и SpringStandard почти одинаковы. Однако стандартный диалект имеет некоторые småe изменения, которые позволяют лучше использовать某些 функции Spring фреймворка.
Например, использование Spring Expression Language вместо стандартного OGNL (Object Graph Navigation Language) Thymeleaf.
Стандартный диалект может обрабатывать шаблоны в любом формате. Однако, он идеально подходит для шаблонных моделей, направленных на веб (HTML5 и XHTML). Он поддерживает и проверяет следующие спецификации XHTML:
XHTML 1.0 Переходная версия Строгий XHTML 1.0 XHTML 1.0 Framwork Set XHTML 1.1.
Стандартный обработчик диалекта - это обработчик свойств, который позволяет браузеру отображать HTML5/XHTML-файлы шаблонов до обработки. Это потому, что они игнорируют другие свойства.
Например, когда JSP-файл использует библиотеку тегов, он содержит код, который не может быть отображен следующим браузером:
<form:inputText name="student.Name" value="${student.name}" />
Стандартный диалект Thymeleaf позволяет реализовать такую же функциональность следующим кодом.
<input type="text" name="student Name" value="Thomas" th:value="${student.name}" />
Приведенный выше код также позволяет нам определить value атрибут( Thomas ). При открытии прототипа в браузере будет отображаться это значение. В процессе обработки шаблонов Thymeleaf этот атрибут будет заменен на $ {student.name} полученными значениями.
Он позволяет дизайнерам и разработчикам обрабатывать. Одинаковые файлы шаблонов, уменьшающие工作量 по преобразованию статичных прототипов в рабочие файлы шаблонов. Это называется Натуральные шаблоны.
Он может использоваться как в сетевых, так и в офлайн-средах. Java-двигатель шаблонов для HTML5/XML/XHTML. Его высокопроизводительный анализ шаблонов минимизирует I/O. Если необходимо, он может использоваться в качестве шаблонного двигателя фреймворка. Он поддерживает несколько шаблонных моделей: XML, XHTML и HTML5. Он позволяет разработчикам расширять и создавать пользовательские диалекты. Он основан на модульных функциях, называемых диалектами. Он поддерживает международную настройку.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
Мы создаем Spring Boot приложение и реализуем шаблоны Thymeleaf.
Шаг 1: Откройте Spring Initializr http://start.spring.io .
Шаг 2: Выберите версию Spring Boot 2.3.0.M1.
Шаг 2: предоставить группуимя. Мы предоставили com.w3codebox .
Шаг 3: предоставить артifact ID. Мы предоставили spring-boot-thymeleaf-view-example.
Шаг 5: Добавить зависимость Spring Web и Thymeleaf.
Шаг 6: нажать Generate (Генерация) кнопка. Когда мы нажимаем кнопку "Генерация", она упаковывает спецификации в Jar файл и закачайте его на локальную систему.
Шаг 7: Извлечь Jar файл и вставьте его в рабочую область STS.
Шаг 8: Импорт папку проекта в STS.
Файл->Импорт->Существующий Maven проект->Просмотр->Выберите папку spring-boot-thymeleaf-view-example->Готово
Импорт может занять некоторое время.
Шаг 9: в пакете com.w3codebox В пакете создаем класс. Мы создали класс под названием класс User.
В этом классе мы определили два переменных name и email и генерирует Getter и Setters.
User.java
package com.w3codebox; public class User { String name; String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
Шаг 10: Создайте класс контроллера. Мы создали класс с именем DemoController класс контроллера.
DemoController.java
package com.w3codebox; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.stereotype.Controller; @Controller public class DemoController { @RequestMapping("/") public String index() { return"index"; } @RequestMapping(value="/save", method=RequestMethod.POST) public ModelAndView save(@ModelAttribute User user) { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("user-data"); modelAndView.addObject("user", user); return modelAndView; } }
Далее, мы создадим шаблон Thymeleaf.
Шаг 11: в внутри шаблонав папке (src/main/resources/шаблоны), создайте файл с именем user-data шаблона Thymeleaf.
Щелкните правой кнопкой мыши в папке шаблонов -> Новый -> Другое -> Файл HTML -> Далее -> Укажите имя файла -> Готово
<html lang="en" xmlns:th="http://www.thymeleaf.org">
user-data.html
<html xmlns:th="https://thymeleaf.org"> <table> <tr> <td><h4>User Name:</h4></td> <td><h4 th:text="${user.name}"></h4></td> </tr> <tr> <td><h4>Email ID:</h4></td> <td><h4 th:text="${user.email}"></h4></td> </tr> </table> </html>
Шаг 12: Аналогично, создайте в папке шаблонов HTML файл. Мы создали файл с именем index HTML файл.
index.html
<html lang="en"> <head> <title>Index Page</title> </head> <body> <form action="save" method="post"> <table> <tr> <td><label for="user-name">User Name</label></td> <td><input type="text" name="name"></input></td> </tr> <tr> <td><label for="email">Email</label></td> <td><input type="text" name="email"></input></td> </tr> <tr> <td></td> <td><input type="submit" value="Submit"></input></td> </tr> </table> </form> </body> </html>
Шаг 13: Откройте application.properties файл и добавьте следующие свойства.
application.properties
spring.thymeleaf.cache=false spring.thymeleaf.suffix: .html
Создав все файлы, папки и пакеты, директория проекта будет выглядеть так:
Давайте запустим приложение.
Шаг 14: Откройте SpringBootThymeleafViewExampleApplication.java файл и как Java приложение.
SpringBootThymeleafViewExampleApplication.java
package com.w3codebox; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootThymeleafViewExampleApplication { public static void main(String[] args) { SpringApplication.run(SpringBootThymeleafViewExampleApplication.class, args); } }
Шаг 15: Теперь откройте браузер и вызовите URL http://localhost:8080. Он показывает вывод, как показано ниже.
предоставить имя пользователяи Электронная почтаЗатем нажмите Подтвердитькнопку.
нажать Подтвердитькнопку, URL изменяется на http://localhost: 8080/save и отображается данные пользователя, как показано ниже.
В этом разделе мы обсуждаем вид Thymeleaf. Чтобы сделать вид более привлекательным, можно добавить CSS и JS Файлы. Эти файлы должны быть расположены src/main/resources/static в папке.