Введение в FreeMarker
Apache FreeMarker™ — этошаблонизатор: библиотека Java для создания текстового вывода (веб-страницы HTML, электронные письма, файлы конфигурации, исходный код и т. д.) из шаблонов и измененных данных. Шаблоны написаны на языке шаблонов FreeMarker (FTL), простом специализированном языке (в отличие от полноценного языка программирования, такого как PHP). Обычно для подготовки данных (выдачи запросов к базе данных, выполнения бизнес-расчетов) используется язык программирования общего назначения, такой как Java. Затем Apache FreeMarker использует шаблон для отображения подготовленных данных. В шаблоне вы сосредоточитесь на том, как визуализировать данные, а вне шаблона вы сосредоточитесь на данных для визуализации.
SpringBoot официально рекомендует использовать Thymeleaf.Поскольку я относительно знаком с FreeMarker, я сначала расскажу, как использовать текущую интерфейсную страницу FreeMarker в SpringBoot. Официальный сайт FreeMarker
SpringBoot использует этапы работы FreeMarker
Первым шагом является введение зависимости spring-boot-starter-freemarker в pom.xml. Конкретный код выглядит следующим образом:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
Второй шаг — создать тестовую директорию в шаблонах под ресурсами и создать новый файл freemarkDemo.ftl со следующим содержимым:
<h1>${msg}</h1>
Третий шаг — создать контроллер, который обращается к файлу freemarkDemo.ftl.
@Controller
@RequestMapping("/hello")
public class HelloWorldController {
@RequestMapping("/test")
public String test(Model model){
model.addAttribute("msg", "SpringBoot With Freemark hello world!");
return "test/helloworld";
}
}
контрольная работа
Введите URL контроллера для доступа к странице FreeMarker в браузере:http://localhost:8080/sbe/hello/testПроведите тест, и результаты теста будут следующими:
резюме
Шаги для SpringBoot для использования FreeMarker следующие:
- Добавить стартовую зависимость FreeMarker
- Создайте страницу шаблона и посетите страницу шаблона Контроллер
пример кода
Конкретные примеры кода см. в названии проекта модуля в моем репозитории Springbooexamples на GitHub:spring-boot-2.x-freemarkerПроверьте это ниже.