Pull to refresh
0
Константин @pilot911

Программист PHP, Java

Send message

Не бойтесь использовать Gradle

Reading time 9 min
Views 21K

Дорогие junior и все, кто занимается copy-past конфигов Gradle.

В этой статье я хочу простым языком рассказать вам о gradl'овой конфигурации сборки вашего проекта, чтобы вы не боялись использовать Gradle.

Читать далее
Total votes 25: ↑23 and ↓2 +21
Comments 21

Thymeleaf: диалект Layout + Spring Boot 2

Reading time 4 min
Views 11K
Диалект Layout — это диалект Thymeleaf, который позволяет пользователям создавать макеты и шаблоны для повторного использования HTML кода. Он имеет иерархический подход и использует шаблон декоратора для «декорирования» файлов макета. Layout Dialect является отдельным проектом и не поставляется с Thymeleaf. Тем не менее, это открытый исходный код, доступный на GitHub, он хорошо документирован и, как кажется, также поддерживается в хорошем состоянии.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 7

Руководство: Thymeleaf + Spring. Часть 2

Reading time 11 min
Views 51K
Первая часть
Третья часть

5 Отображение Seed Starter Data



Первое, что покажет наша страница /WEB-INF/templates/seedstartermng.html, — это список с начальными стартовыми данными, которые в данный момент сохранены. Для этого нам потребуются некоторые внешние сообщения, а также некоторая работа выражений для атрибутов модели. Как это:
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 0

Руководство: Thymeleaf + Spring. Часть 3

Reading time 11 min
Views 19K
Первая часть
Вторая часть

7 Проверка и сообщения об ошибках


Большинство наших форм должны показывать сообщения проверки, чтобы информировать пользователя об ошибках, которые он сделал.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 0

Руководство: Thymeleaf + Spring. Часть 1

Reading time 14 min
Views 79K
Оригинал документации

Вторая часть
Третья часть

Оглавление:

1. Интеграция Thymeleaf с Spring
2. SpringStandard Диалект
3. Views и View Resolvers
3.1 Views и View Resolvers в Spring MVC
3.2 Views и View Resolvers в Thymeleaf
4. Spring Thyme Seed Starter Manager
4.1 Концепция
4.2 Бизнес слой
4.3 Spring MVC configuration
4.4 Контроллер
4.5 Конфигурирование Conversion Service
5 Отображение Seed Starter Data
6 Создание Форм
6.1 Обработка командного объекта
6.2 Inputs
6.3 Checkbox fields
6.4 Radio Button fields
6.5 Dropdown/List selectors
6.6 Dynamic fields
7 Проверка и сообщения об ошибках
7.1 Field errors
7.2 Все ошибки
7.3 Глобальные ошибки
7.4 Отображение ошибок вне форм
7.5 Богатые объекты ошибок
8 Это все еще прототип!
9 Служба конверсии (The Conversion Service)
9.1 Конфигурирование
9.2 Синтаксис двойной скобки
9.3 Использование в формах
9.4 #conversions объект преобразования
10 Отрисовка фрагментов шаблона Template Fragments (AJAX etc)
10.1 Определение фрагментов в бине представления
10.2 Определение фрагментов в возвращаемом значении контроллера
11 Продвинутые интеграционные фичи
11.1 Интеграция с RequestDataValueProcessor
11.1 Построение URIs к контроллерам
12 Spring WebFlow интеграция
12.2 AJAX фрагменты в Spring WebFlow

В этом руководстве объясняется, как Thymeleaf может быть интегрирован с Spring Framework, особенно (но не только) Spring MVC.

Обратите внимание, что Thymeleaf имеет интеграции для версий 3.x и 4.x Spring Framework и выше, предоставляемые двумя отдельными библиотеками, которые называются thymeleaf-spring3 и thymeleaf-spring4. Эти библиотеки упакованы в отдельные файлы .jar (thymeleaf-spring3-{version}.jar и thymeleaf-spring4-{version}.jar) и должны быть добавлены в ваш путь к классам для использования интеграций Thymeleaf Spring в вашем приложении.
Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Comments 3

Учебник Thymeleaf: Глава 20. Приложение C: Синтаксис селектора разметки

Reading time 3 min
Views 3.6K
Оглавление

20 Приложение C: Синтаксис селектора разметки


Селекторы разметки Thymeleaf напрямую заимствованы из библиотеки парсера Thymeleaf: AttoParser.

Синтаксис для этих селекторов имеет большое сходство с синтаксисом селекторов в XPath, CSS и jQuery, что делает их удобными для большинства пользователей. Вы можете взглянуть на полную ссылку на синтаксис в документации AttoParser.
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 0

Учебник Thymeleaf: Глава 19. Приложение B: Полезные выражения

Reading time 13 min
Views 8.3K
Оглавление

19 Приложение B: Полезные выражения


Информация о выполнении

#execInfo: выражения, предоставляющие полезную информацию о шаблоне, обрабатываемом внутри Thymeleaf Standard Expressions
Читать дальше →
Total votes 10: ↑6 and ↓4 +2
Comments 0

Учебник Thymeleaf: Глава 18. Приложение A: Основные выражения

Reading time 3 min
Views 3.7K
Оглавление

18 Приложение A: Основные выражения


Некоторые объекты и переменные всегда доступны для вызова. Давайте посмотрим на них:

Базовые объекты

#ctx: объект контекста. Реализация org.thymeleaf.context.IContext или org.thymeleaf.context.IWebContext в зависимости от нашей среды (standalone или web).

Примечание #vars и #root являются синонимами для одного и того же объекта, но рекомендуется использовать #ctx.
Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Comments 0

Учебник Thymeleaf: Глава 17. Разделенная логика шаблонов

Reading time 5 min
Views 2.9K
Оглавление

17 Разделенная логика шаблонов


17.1. Разделенная логика: концепция


До сих пор мы работали в нашем магазине Grocery Store с шаблонами, выполненными обычным способом, с логикой, вставленной в наши шаблоны в виде атрибутов.

Но Thymeleaf также позволяет полностью отделить шаблонную разметку от логики, позволяя создавать полностью не требующие логики шаблоны разметки в режимах HTML и XML-шаблонов.

Основная идея заключается в том, что логика шаблона будет определена в отдельном логическом файле (точнее, логическом ресурсе, поскольку он не обязательно должен быть файлом). По умолчанию этот логический ресурс будет дополнительным файлом, находящимся в том же месте (например, папке) в качестве файла шаблона с тем же именем, но с расширением .th.xml:
Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Comments 0

Учебник Thymeleaf: Глава 16. Кэш шаблонов

Reading time 2 min
Views 2.4K
Оглавление

16 Кэш шаблонов


Thymeleaf работает благодаря набору парсеров для разметки и текста — который анализирует шаблоны в последовательности (открытый тег, текст, тег закрытия, комментарий и т. д.). И ряд процессоров по одному для каждого типа поведения, которые применяются и изменяют последовательность событий синтаксического анализа шаблона, чтобы создать ожидаемые результаты, объединив исходный шаблон с нашими данными.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 0

Учебник Thymeleaf: Глава 15. Подробнее о конфигурации

Reading time 7 min
Views 4.9K
Оглавление

15 Подробнее о конфигурации


15.1 Resolver шаблонов


Для нашего виртуального бакалейного магазина Thymes мы выбрали реализацию ITemplateResolver под названием ServletContextTemplateResolver, которая позволила получить шаблоны в качестве ресурсов из контекста сервлета.

Помимо предоставления возможности создавать собственный шаблонный резольвер, реализуя ITemplateResolver, Thymeleaf включает в себя четыре реализации из коробки:
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 0

Учебник Thymeleaf: Глава 14. Еще несколько страниц нашей бакалеи

Reading time 3 min
Views 2.8K
Оглавление

14 Еще несколько страниц нашей бакалеи


Теперь мы много знаем об использовании Thymeleaf и можем добавить некоторые новые страницы на наш сайт для управления заказами.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 0

Учебник Thymeleaf: Глава 13. Текстовые режимы шаблона

Reading time 5 min
Views 4.8K
Оглавление

13 Текстовые режимы шаблона


13.1 Текстовый синтаксис


Три типа шаблонов Thymeleaf считаются текстовыми: TEXT, JAVASCRIPT и CSS. Это отличает их от режимов шаблонов разметки: HTML и XML.

Ключевое различие между режимами текстового шаблона и разметкой заключается в том, что в текстовом шаблоне нет тегов, в которые нужно вставлять логику в виде атрибутов, поэтому мы должны полагаться на другие механизмы.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Comments 8

Учебник Thymeleaf: Глава 12. Встраивание / Inlining

Reading time 6 min
Views 18K
Оглавление

12 Встраивание / Inlining


12.1 Выражения встраивания / Expression inlining


Хотя стандартный диалект позволяет нам делать почти все с использованием атрибутов тегов, бывают ситуации, когда мы можем предпочесть писать выражения непосредственно в наши HTML-тексты. Например, мы могли бы предпочесть написать это:
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Comments 3

Учебник Thymeleaf: Глава 11. Комментарии и Блоки / Blocks

Reading time 3 min
Views 7.5K
Оглавление

11 Комментарии и Блоки / Blocks


11.1. Стандартные HTML/XML комментарии


Стандартные HTML/XML комментарии <!--… --> можно использовать в любом месте шаблонов Thymeleaf. Все, что внутри этих комментариев, не будет обрабатываться Thymeleaf и будет скопировано дословно:
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 0

Учебник Thymeleaf: Глава 9. Локальные переменные

Reading time 2 min
Views 8K
Оглавление

9 Локальные переменные


Thymeleaf называет локальными переменными те переменные, которые определены для определенного фрагмента шаблона и доступны только для выполнения внутри этого фрагмента.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 0

Учебник Thymeleaf: Глава 8. Макет шаблона

Reading time 13 min
Views 36K
Оглавление

8 Макет шаблона / Template Layout


8.1 Включение фрагментов шаблонов


Определение и ссылка на фрагменты

В шаблоны мы часто включаем фрагменты из других шаблонов, такие как подвал, заголовок, меню…
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 0

Учебник Thymeleaf: Глава 7. Условное выполнение

Reading time 3 min
Views 35K
Оглавление

7 Условное выполнение


7.1 Простые условия: «if» (если) и «unless» (если не)


Иногда вам понадобится фрагмент шаблона, чтобы появляться только в результате выполнения определенного условия.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 0

Учебник Thymeleaf: Глава 6.Итерации

Reading time 5 min
Views 29K
Оглавление

6 Итерации


На текущий момент мы обсудили и создали домашнюю страницу, страницу профиля пользователя, а также страницу, позволяющую пользователям подписаться на нашу рассылку… но как насчет наших продуктов? Для этого нам понадобится способ перебора элементов в коллекции.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 0
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity