Для чего нужен thymeleaf

Русские Блоги

Spring Boot шаблонный движок интеграции Thymeleaf

Spring Boot Шаблонный движок Thymeleaf для интеграции

1. Введение Thymeleaf

Во-вторых, основное использование Thymeleaf

Посредством тегов + выражений данные и шаблон объединяются и, наконец, преобразуются в HTML-код, который возвращается пользователю.

Основное использование Thymeleaf делится на 2 части:

1. Использование тегов

1.1 th: вывод основной информации о тексте

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >
span th :text= «$« > span >
body >
html >

package com.littlefxc.blog.controller;

import org.springframework.stereotype. Controller ;
import org.springframework.web.bind.annotation. RequestMapping ;
import org.springframework.web.servlet.ModelAndView;

/**
* @author fengxuechao
*/
@Controller
public class IndexController <

Для чего нужен thymeleaf. Смотреть фото Для чего нужен thymeleaf. Смотреть картинку Для чего нужен thymeleaf. Картинка про Для чего нужен thymeleaf. Фото Для чего нужен thymeleaf

1.2 th: вывод utxt html контента

Используйте «th: text» для вывода содержимого как есть, а «th: utext» для вывода тегов html.

package com.littlefxc.blog.controller;

import org.springframework.stereotype. Controller ;
import org.springframework.web.bind.annotation. RequestMapping ;
import org.springframework.web.servlet.ModelAndView;

/**
* @author fengxuechao
*/
@Controller
public class IndexController <

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >
p th :utext= «$« > p >
body >
html >

Для чего нужен thymeleaf. Смотреть фото Для чего нужен thymeleaf. Смотреть картинку Для чего нужен thymeleaf. Картинка про Для чего нужен thymeleaf. Фото Для чего нужен thymeleaf

1.3 th: if, th: если только условие не определено

1.4 th: switch, th: case multi-condition суждение

Примечание:Параметр по умолчанию указывается с помощью th: case = «*».

1,5-й: каждый цикл

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >
div th :each= «name,item:$« >
span th :text= «$« > span >
span th :text= «$« > span >
div >
body >
html >

package com.littlefxc.blog.controller;

import org.springframework.stereotype. Controller ;
import org.springframework.web.bind.annotation. RequestMapping ;
import org.springframework.web.servlet.ModelAndView;

import java.util.Arrays;

/**
* @author fengxuechao
*/
@Controller
public class IndexController <

Эффект от посещения выглядит следующим образом:

Для чего нужен thymeleaf. Смотреть фото Для чего нужен thymeleaf. Смотреть картинку Для чего нужен thymeleaf. Картинка про Для чего нужен thymeleaf. Фото Для чего нужен thymeleaf

1.6 Th: фрагмент, th: вставить, th: заменить, th: включить повторное использование фрагмента кода

Footer.html код страницы:

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Title title >
head >
body >
div th :fragment= «copyright» >
© Авторские права принадлежат Фэн Сюэчао
div >

div th :fragment= «about» >
на
div >

div th :fragment= «links» >
CCTV
div >
body >
html >

Было объявлено три фрагмента кода, авторское право, о и ссылки.

Index.html код страницы:

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >
div th :replace= «footer :: copyright» > div >

div th :insert= «footer :: about» > div >

div th :include= «footer :: links» > div >
body >
html >

Первый div ссылается на фрагмент кода авторского права footer.html, а второй div ссылается на фрагмент кода about footer.html.

Понимание двойной двоеточия:Двойное двоеточие «::» используется для ссылки на фрагмент страницы, что немного похоже на синтаксис в PHP. Двойное двоеточие используется для указания прямой ссылки на статические свойства и методы класса.

Эффект заключается в следующем:

Краткое описание:Хорошо видно, что разница между th: insert, th: replace и th: include заключается в том, сохранять ли собственную основную метку. Th: include устарела после 3.0. Вместо нее можно использовать th: replace label.

продвинутый—— Параметр передачи кода фрагмента

Используя фрагмент, мы можем передавать параметры в html-коде. Например, мы определяем top.html, который содержит приглашение «Welcome XXX», и это имя человека XXX необходимо передавать динамически, чтобы мы могли завершить код в максимальной степени Повторно используйте, на этот раз хороший вариант использования, мы должны это сделать. (Красный указывает код клавиши)

Код страницы index.html:

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >
div th :each= «name,item:$« >
span th :text= «$« > span >
span th :text= «$« > span >
div >

div th :replace= «footer :: copyright» > div >

div th :insert= «footer :: about» > div >

div th :include= «footer :: links» > div >

div th:replace=»footer :: welcome(‘ Фэн Сюэчао ‘)» > div >
body >
html >

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Title title >
head >
body >
div th :fragment= «copyright» >
© Авторские права принадлежат Фэн Сюэчао
div >

div th :fragment= «about» >
на
div >

div th :fragment= «links» >
CCTV
div >

Для чего нужен thymeleaf. Смотреть фото Для чего нужен thymeleaf. Смотреть картинку Для чего нужен thymeleaf. Картинка про Для чего нужен thymeleaf. Фото Для чего нужен thymeleaf

1.7-й: с определением локальных переменных

Код страницы: (красный обозначает код ключа)

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >
div th :each= «name,item:$« >
span th :text= «$« > span >
span th :text= «$« > span >
div >

div th :replace= «footer :: copyright» > div >

div th :insert= «footer :: about» > div >

div th :include= «footer :: links» > div >

div th :replace= «footer :: welcome(‘ Фэн Сюэчао ‘)» > div >

div >
p th:with=»temp=’ Это локальная переменная ‘» > Локальные переменные: [[$]] p >
div >
body >
html >

Для чего нужен thymeleaf. Смотреть фото Для чего нужен thymeleaf. Смотреть картинку Для чего нужен thymeleaf. Картинка про Для чего нужен thymeleaf. Фото Для чего нужен thymeleaf

1.8 th: удалить удалить тег

th: remove используется для удаления HTML-кода. Есть пять th: remove values:

Пример кода index.html выглядит следующим образом: (красный обозначает код ключа)

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >
div th :each= «name,item:$« >
span th :text= «$« > span >
span th :text= «$« > span >
div >

div th :replace= «footer :: copyright» > div >

div th :insert= «footer :: about» > div >

div th :include= «footer :: links» > div >

div th :replace= «footer :: welcome(‘ Фэн Сюэчао ‘)» > div >

div >
p th :with= «temp=’ Это локальная переменная ‘» > Локальные переменные: [[$]] p >
div >

div >
div th:remove=»all» >
span > all span >
span > 1 span >
div >

div th:remove=»body» >
span > body span >
span > 2 span >
div >

div th:remove=»tag» >
span > tag span >
span > 3 span >
div >

div th:remove=»all-but-first» >
span > all-but-first span >
span > 4 span >
div >

div th:remove=»none» >
span > none span >
span > 5 span >
div >
div >
body >
html >

Окончательный эффект отображения выглядит следующим образом:

Для чего нужен thymeleaf. Смотреть фото Для чего нужен thymeleaf. Смотреть картинку Для чего нужен thymeleaf. Картинка про Для чего нужен thymeleaf. Фото Для чего нужен thymeleaf

1.9 Другие ярлыки

2. Использование выражения

2.1 Резюме выражений

2.1.1 Простые выражения

2.1.2 Типы данных

2.1.3 Текстовые операции

2.1.4 Арифметические операции

2.1.5 Булевы операции

Бинарные операторы: и, или логическое отрицание (унарный оператор). False

2.1.6 Условные операторы

Значение сравнения:>, =, package com.littlefxc.blog.controller;

import lombok. Data ;
import org.springframework.stereotype. Controller ;
import org.springframework.web.bind.annotation. RequestMapping ;
import org.springframework.web.servlet.ModelAndView;

import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
* @author fengxuechao
*/
@Controller
public class IndexController <

@Data
public static class Goods <
private String name ;

private String price ;

private Date createTime ;
>
>

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >

div th :object= «$« >
span th :text= «$« > span >
span th :text= «*« > span >
span th :text= «$<#dates.format(goods.createTime, 'yyyy-MM-dd HH:mm:ss')>« > span > div >
body >
html >

Для чего нужен thymeleaf. Смотреть фото Для чего нужен thymeleaf. Смотреть картинку Для чего нужен thymeleaf. Картинка про Для чего нужен thymeleaf. Фото Для чего нужен thymeleaf

2.2.3 Выражение ссылки @

Используется для преобразования URL, код выглядит следующим образом:

В выражениях ссылок можно передавать параметры, разделенные запятыми.

Относительный корневой каталог сервера: @ <

2.2.4 Текстовые операции

Текстовая операция делится на две части: написание текста, замена текста

Написание текста:

Замена текста:

2.2.5 Тернарное выражение

2.2.6 Роль двойных скобок

1 234 567 890 Скопируйте код

2.2.7 Встраивание текстовых меток

Хотя стандартные теги могут соответствовать практически всем бизнес-сценариям, в некоторых случаях мы предпочитаем писать HTML-текст напрямую, например:

Здравствуйте, [[$ ]] Скопируйте код

Существует два способа написания встроенного текста: «[[. ]]» и «[(. )]», которые соответственно действуют как th: text и th: utext, например:

Эффект, который вы видите, таков:

2.3 Обзор объектов выражения

Объекты в выражении могут помочь нам справиться с отображаемым содержимым. Например, класс даты в инструменте выражения может форматировать время. Умелое использование этих встроенных классов может заставить нас использовать Thymeleaf более эффективно.

2.3.1 Основные объекты выражений

2.3.2 Утилита выражения Expression

Для конкретных методов в каждом классе, нажмите, чтобы посмотреть: www.thymeleaf.org/doc/tutoria…

Три, Spring Boot интеграции Thymeleaf

3.1Spring Boot объединяет Thymeleaf в четыре этапа:

Далее посмотрите на конкретные шаги.

3.1.1Шаблонный движок Thomeleaf добавлен в pom.xml

3.1.2 application.properties настроить информацию Thymeleaf

На самом деле, во время разработки вам нужно только настроить spring.thymeleaf.cache = false, остальные настройки являются настройками по умолчанию, и настройка не рекомендуется.

# Включить кеш: рекомендуется включить производство,

spring.thymeleaf.cache = false # Предложить, существует ли шаблон

spring.thymeleaf.check-template-location = true # Значение типа содержимого

spring.thymeleaf.servlet.content-type = text / html # включен

spring.thymeleaf.enabled = true # Кодировка шаблона

spring.thymeleaf.encoding = utf-8 # Список имен представлений, которые следует исключить из разрешения (разделенных запятыми)

spring.thymeleaf.excluded-view-names = # шаблонный режим

spring.thymeleaf.mode = HTML5 # путь хранения шаблона

spring.thymeleaf.prefix = classpath: / templates / # шаблон суффикс

3.1.3 Создайте класс контроллера и напишите код

Мы создаем index.java в папке контроллера, код выглядит следующим образом:

package com.littlefxc.blog.controller;

import lombok. Data ;
import org.springframework.stereotype. Controller ;
import org.springframework.web.bind.annotation. RequestMapping ;
import org.springframework.web.servlet.ModelAndView;

import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
* @author fengxuechao
*/
@Controller
public class IndexController <

@Data
public static class Goods <
private String name ;

private String price ;

private Date createTime ;
>
>

Интерпретация ключевого кода:

3.1.4 Создать шаблон и написать HTML-код

Мы создаем index.html под ресурсами / шаблонами, код выглядит следующим образом:

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Блог Фен Сюэчао title >
head >
body >
div th :each= «name,item:$« >
span th :text= «$« > span >
span th :text= «$« > span >
div >

div th :replace= «footer :: copyright» > div >

div th :insert= «footer :: about» > div >

div th :include= «footer :: links» > div >

div th :replace= «footer :: welcome(‘ Фэн Сюэчао ‘)» > div >

div >
p th :with= «temp=’ Это локальная переменная ‘» > Локальные переменные: [[$]] p >
div >

div >
div id= «all» th :remove= «all» >
span > all span >
span > 1 span >
div >

div id= «body» th :remove= «body» >
span > body span >
span > 2 span >
div >

div id= «tag» th :remove= «tag» >
span > tag span >
span > 3 span >
div >

div id= «all-but-first» th :remove= «all-but-first» >
span > all-but-first span >
span > 4 span >
div >

div id= «none» th :remove= «none» >
span > none span >
span > 5 span >
div >
div >

p > p >

div th :object= «$« >
span th :text= «$« > span >
span th :text= «*« > span >
span th :text= «$<#dates.format(goods.createTime, 'yyyy-MM-dd HH:mm:ss')>« > span > div >
body >
html >

html >
html xmlns: th = «http://www.thymeleaf.org» >
head >
meta charset= «UTF-8» >
title > Title title >
head >
body >
div th :fragment= «copyright» >
© Авторские права принадлежат Фэн Сюэчао
div >

div th :fragment= «about» >
на
div >

div th :fragment= «links» >
CCTV
div >

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *