Хотя многие разработки в настоящее время используют совершенно отдельную модель фронтального и заднего косточка, то есть в задней части предоставляет только интерфейсы данных, а передняя часть получает данные с помощью запросов AJAX, который не требует шаблонного двигателя. Преимущество этого метода состоит в том, что передние и задние концы полностью разделены, и с улучшением инженерных инструментов и фреймворков MVC в последние годы стоимость обслуживания этой модели относительно ниже. Тем не менее, этот режим не способствует SEO и будет немного хуже в производительности. Существуют также некоторые сценарии, которые использование шаблонного двигателя будут более удобными, например, шаблоны электронной почты. В этой статье в основном обсуждается интеграция Spring Boot с шаблонными двигателями Thymeleaf, Freemaker и JSP.
1. Интегрировать тимелиф
Шаг 1: Представьте пакет JAR (стартер, соответствующий Thymeleaf):
<Depeication> <groupid> org.springframework.boot </GroupId> <ArtifactId> Spring-Boot-Starter-Thymeleaf </artifactid> </depertive>
Шаг 2: Настройте Thymeleaf:
Весна: Thymeleaf: Prefix: ClassPath:/Templates/Check-Template-Location: True Cache: False Suffix: .html Кодирование: UTF-8-тип: текст/HTML Режим: HTML5
Префикс: укажите каталог, где находится шаблон
Проверка-трикотаж: Проверьте, существует ли путь шаблона
Кэш: будь то кэшюр, установить на False в режиме разработки, избегать изменения шаблона и перезапуска сервера. Установка его в True Online может повысить производительность.
Кодирование и тип контента: каждый должен быть знаком с этим, что согласуется с соответствующими атрибутами, установленными в сервлетах.
Режим: Пожалуйста, обратитесь к инструкциям на официальном веб -сайте, и это 2.x и 3.0. Пакет, автоматически введенный в этой статье, составляет 2,15.
Третий шаг - написать файл шаблона Thymeleaf:
<! Doctype html> <html xmlns = "http://www.w3.org/1999/xhtml" xmlns: th = "http://www.thymeleaf.org"> <Head> <meta content = "text/html; charset = utf-8"/> </head> <body> <h6> Thymeleaf Template Engine </h6> <Таблица bgcolor = "#f0ffff"> <TheAd> <th> Serial Number </th> <th> title </th> <Th>). : $ {list} "> <tr> <td th: text =" $ {article.id} "> </td> <td th: text =" $ {article.title} "> </td> <td th: text =" $ {article.summary} "> </td> <td th: theptem. </tbody> </table> </body> </html>Как вы можете видеть, Thymeleaf относительно прост, и его самая большая особенность заключается в том, что тег существует как атрибут элемента HTML. То есть страница может быть предварительно просмотрена непосредственно через браузер, но нет данных. Это очень удобно для всех, чтобы отлаживать.
Шаг 4: Настройка контроллера:
@Controller @requestMapping ("/article") открытый класс articlecontroller {@autowired Private Articleservice Articleservice; @Requestmapping ("/articlelist.html") открытая строка getarticlelist (модель модели, название строки, @RequestParam (defaultValue = "10") Integer PageSize, @RequestParam (defaultValue = "1") Integer Pagenum) {int offset = (pagenum - 1) * PageSize; Список <статья> list = articleservice.getarticlics (заголовок, 1L, Offset, PageSize); model.addattribute ("list", list); вернуть "статья/артиклиста"; }}Обратите внимание, что используемая здесь аннотация - @Controller, а не @RestController, потому что @RestController автоматически преобразует результат возврата в строку.
Шаг 5 Просмотреть результаты
2. Интеграция между Spring Boot и Freemarker
1. Представьте пакет JAR (стартер, соответствующий Freemarker)
<Dependency> <groupid> org.springframework.boot </GroupId> <artifactId> Spring-Boot-Starter-Freemarker </artifactid> </dependency>
2. Настройте Freemarker:
Весна: Freemarker: Template-Loader-Path: ClassPath:/Templates/Суффикс: .ftl Content-Type: Text/HTML Charset: UTF-8 Настройки: number_format: '0. ##'
В дополнение к настройкам, другие параметры конфигурации похожи на Thymeleaf. Настройки будут влиять на некоторые поведения фримаркеров, такие как форматирование дат, форматирование номеров и т. Д.
3. Напишите файл шаблона FreeMarker:
<html> <title> Список статей </title> <body> <h6> двигатель шаблона Freemarker </h6> <table> <thead> <tr> <th> серийный номер </th> <Th> tit <td> $ {article.title} </td> <td> $ {article.summary} </td> <td> $ {article.createtime? String ('yyyy-mm-dd hh: mm: ss')} </td> </tr> </#List> </table> </html>}4. Контроллер записи:
@Controller @requestMapping ("/article") открытый класс articlecontroller {@autowired Private Articleservice Articleservice; @Requestmapping ("/list.html") открытая строка Getarticles (модель модели, заголовок строки, @RequestParam (defaultValue = "10") Integer PageSize, Integer Pagenum) {if (pagesize == null) {pageize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (pagenum - 1) * pageSize; Список <статья> list = articleservice.getarticlics (заголовок, 1L, Offset, PageSize); model.addattribute ("list", list); вернуть "статья/список"; }}5. Посетите страницу:
3. Sring Boot интегрируется с JSP:
В формальной разработке проектов шаблоны JSP сейчас редко используются, поэтому Spring Boot поддерживает JSP не очень хорошо, поэтому настройка относительно сложнее, чем Thymeleaf и Freemaker.
Первый шаг - представить пакет JAR:
<depervice> <groupid> javax.servlet </groupid> <artifactid> jstl </artifactid> </depertive> <dehyederian> <groupid> org.apache.tomcat.embed </GroupId> <ratifactid> tomcat-embed-jasper </artifactid> </зависимость>
Первая зависимость JSTL используется для поддержки выражений EL, а вторая используется для поддержки JSP. Обратите внимание, что если он работает во внешнем Tomcat, вам необходимо установить область, чтобы предотвратить конфликты с пакетом JAR.
Шаг 2: Вручную создайте каталог WebApp:
Вам нужно вручную создать каталог веб -приложений в основном каталоге, со структурой следующим образом:
Шаг 3 конфигурация прочности JSP дороги:
Добавьте следующую конфигурацию в Application.yml:
Spring: MVC: View: Prefix:/web-inf/jsp/суффикс: .jsp
Те, кто понимает Spring MVC, должны быть знакомы с вышеуказанной конфигурацией.
Шаг 4: Напишите страницу JSP:
<%@ page contentype = "text/html; charset = utf-8" language = "java"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <html> <Head> </title> </head> <body> <b-tabe> <b vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c vare> <c Head> items = "$ {list}"> <tr> <td> $ {article.id} </td> <td> $ {article.title} </td> <td> $ {article.summary} </td> <td> $ {article.createTime} </td> </tre> </C: foreeach> </teach> </teach> </teach> </teach> </teach> </teach>Шаг 5: Напишите контроллер:
@Requestmapping ("/listJsp") public String getArticleListJsp (модель модели, заголовок строки, @RequestParam (defaultValue = "10") Integer PageSize, Integer Pagenum) {if (pageSize == null) {pageSize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (pagenum - 1) * pageSize; Список <статья> list = articleservice.getarticlics (заголовок, 1L, Offset, PageSize); model.addattribute ("list", list); вернуть "статьи"; }Шаг 6, чтобы получить доступ к странице результатов:
4. Резюме
В целом, Spring Boot дружит с поддержкой Thymeleaf и Feemaker, а конфигурация относительно проста. В реальном развитии большинство из них в основном основаны на этих двух шаблонных двигателях, и есть несколько JSP. JSP теперь могут использоваться больше во время эксперимента или этапа обучения. Более хлопотная вещь в конфигурации JSP - это то, что это не первые два. Онлайн -заявление в основном то же самое, но есть много утверждений о конфигурации JSP, например, необходимо ли изменить пакет JAR на военный пакет? Нужно ли установить зависимость от JSP, и т. Д. Это в основном зависит от того, хотите ли вы развернуть программу для внешнего Tomcat в конце или напрямую запустить JAR? Поскольку эта статья напрямую запускает класс приложений в соответствии с идеей, эти операции не нужны.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.