Spring Boot 系列(五)web开发-Thymeleaf、FreeMarker模板引擎

前面几篇介绍了返回json数据提供良好的RESTful api,下面我们介绍如何把处理完的数据渲染到页面上。

Spring Boot 使用模板引擎

Spring Boot 推荐使用Thymeleaf、FreeMarker、Velocity、Groovy、Mustache等模板引擎。不建议使用JSP。

Spring Boot 对以上几种引擎提供了良好的默认配置,默认 src/main/resources/templates 目录为以上模板引擎的配置路径。

一、Spring Boot 中使用Thymeleaf模板引擎

简介:Thymeleaf 是类似于Velocity、FreeMarker 的模板引擎,可用于Web与非Web环境中的应用开发,并且可以完全替代JSP 。

1、pom.xml 添加依赖
<!-- thymeleaf 模板引擎-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、编写controller
/**
 * @author sam
 * @since 2017/7/16
 */
@Controller
public class HomeController {

    @RequestMapping("/home")
    public String home(ModelMap modelMap) {

        modelMap.put("name", "Magical Sam");

        List<String> list = new ArrayList<>();
        list.add("sam a");
        list.add("sam b");
        list.add("sam c");
        list.add("sam d");
        modelMap.put("list", list);

        return "home";
    }

}
3、编写html代码,其中th:text="${name}" 为thymeleaf的语法,具体可参考:Thymeleaf 官方文档
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <title>Home</title>
</head>
<body>
    <span th:text="${name}"></span>
    <ul>
        <li th:each="item : ${list}" th:text="${item}"></li>
    </ul>
</body>
</html>
启动应用,访问:http://localhost:8080/home ,可以得到相应结果。
如需修改 thymeleaf 的默认配置,可以在application.properties中添加:
# ================================================
#                   Thymeleaf配置
# ================================================
# 是否启用thymeleaf模板解析
spring.thymeleaf.enabled=true
# 是否开启模板缓存(建议:开发环境下设置为false,生产环境设置为true)
spring.thymeleaf.cache=false 
# Check that the templates location exists.
spring.thymeleaf.check-template-location=true 
# 模板的媒体类型设置,默认为text/html
spring.thymeleaf.content-type=text/html
# 模板的编码设置,默认UTF-8
spring.thymeleaf.encoding=UTF-8
# 设置可以被解析的视图,以逗号,分隔
#spring.thymeleaf.view-names=
# 排除不需要被解析视图,以逗号,分隔
#spring.thymeleaf.excluded-view-names=
# 模板模式设置,默认为HTML5
#spring.thymeleaf.mode=HTML5 
# 前缀设置,SpringBoot默认模板放置在classpath:/template/目录下
spring.thymeleaf.prefix=classpath:/templates/ 
# 后缀设置,默认为.html
spring.thymeleaf.suffix=.html
# 模板在模板链中被解析的顺序
#spring.thymeleaf.template-resolver-order=

二、Spring Boot 中使用FreeMarker模板引擎

1、pom.xml 添加依赖
<!-- freemarker 模板引擎 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2、编写controller
同上。
3、templates 下新建 home.ftl文件编写html代码,freemarker语法 可参考:FreeMarker 官方文档
home.ftl
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <span>${name}</span>
    <ul>
    <#list list as item >
        <li>${item}</li>
    </#list>
    </ul>
</body>
</html>
启动应用,访问:http://localhost:8080/home ,可以得到相应结果。
如需修改 freemarker 的默认配置,可以在application.properties中添加:
# ================================================
#                   FreeMarker配置
# ================================================
# 是否开启模板缓存
spring.freemarker.cache=true
# 编码格式
spring.freemarker.charset=UTF-8
# 模板的媒体类型设置
spring.freemarker.content-type=text/html
# 前缀设置 默认为 ""
spring.freemarker.prefix=
# 后缀设置 默认为 .ftl
spring.freemarker.suffix=.ftl
#spring.freemarker.allow-request-override=false
#spring.freemarker.check-template-location=true
#spring.freemarker.expose-request-attributes=false
#spring.freemarker.expose-session-attributes=false
#spring.freemarker.expose-spring-macro-helpers=false
#spring.freemarker.request-context-attribute=
#spring.freemarker.template-loader-path=classpath:/templates/
#spring.freemarker.view-names=

附: application.properties 全部配置项,点击查看Spring Boot 所有配置说明

版权声明:本文为博主原创文章,转载请注明出处。

转载于:https://www.cnblogs.com/magicalSam/p/7196340.html

web开发-Thymeleaf、FreeMarker模板引擎 Spring Boot 推荐使用Thymeleaf、FreeMarker、Velocity、Groovy、Mustache等模板引擎。不建议使用JSP。Spring Boot 对以上几种引擎提供了良好的默认配置,默认 src/main/resources/templates 目录为以上模板引擎的配置路径。一、Spring Boot 中使用Thymeleaf模板引擎简介:Thymeleaf 是类似于... 阅读详情

相关推荐

从Spring-Boot开始深入理解Spring系列(四)——Spring-Boot集成主流模板引擎thymeleaf和freemarker

什么是模板引擎 模板引擎的使用场景 web开发中展示层的发展趋势 模板引擎如何做选型? 主流模板引擎优缺点对比 在spring-boot-中如何使用freemarker? 在spring-boot中如何使用thymeleaf? 附 源码下载 Thymeleaf快速上手 Freemarker中文手册 ...

softwareCraftsman 610

Spring Boot 系列 - web开发 Thymeleaf、FreeMarker模板引擎

前面几篇介绍了返回json数据提供良好的RESTful api,下面我们介绍如何把处理完的数据渲染到页面上。 Spring Boot 使用模板引擎 Spring Boot 推荐使用Thymeleaf、FreeMarker、Velocity、Groovy、Mustache等模板引擎。不建议使用...

chiyan5284的博客 277

Spring boot2 快速入门开发笔记(二)spring boot2+FreeMarker+Thymeleaf +VUE安装

在上篇Spring boot2 快速入门开发笔记(一)中我们已经完成了spring boot的基本框架,但是从数据库取数据展示到页面还未完成,其实只是未调用方法。 那接下来我们将继续完成从数据库访问获取数据展示到页面。 数据准备 在数据库的user表中添加几条数据 添加完后如下 接下来我们修改UserController的logintest方法,修改后的代码如下: @RequestMapping("/") public ModelAndView ...

813

SpringBoot学习笔记(二)

Spring Boot 与 Thymeleaf模板引擎集成(一)介绍SpringBoot默认不支持jsp,默认使用thymeleaf模板引擎。thymeleaf类似于Velocity、Freemarker的模板引擎,这里不详细介绍thymeleaf的具体语法和使用,以后有时间会详细介绍它的,下面主要介绍它与springboot的集成。(二)步骤1.添加依赖在pom.xml下添加:&lt;depen...

王斌的博客 337

Spring Boot:Web开发之视图模板技术的整合

Spring Boot Web开发之视图模板技术的整合介绍

啊Q老师 6775

如何使用ArcGIS Pro制作带基底三维地图

点击运行生成范围线,因为之前对高程进行了夸大,导致生成的范围线和地形边缘不重合,我们打开范围线的图层属性,选择高程选项卡,要素位于选择地面上,如下图所示。目前制作的三维地图下面是空的一片,现在添加一个基底,在工具箱内点击“3D Analyst工具\栅格\转换\栅格范围”,调用栅格范围工具,如下图所示。打开ArcGIS Pro,新建一个局部场景,在高程表面下,地面上点击右键,选择添加高程源图层,将需要制作三维地图的DEM数据加载进来,如下图所示。在要素图层菜单内,类型选择绝对高度,如下图所示。

3979

模板引擎总结(Thymeleaf,FreeMarker,Enjoy,Velocity,JSP等)

一.首先我们可以了解下为什么要用模板引擎:   因为模板引擎可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码的分离,这就大大提升了开发效率,良好的设计也使得代码重用变得更加容易。我们司空见惯的模板安装卸载等概念,基本上都和模板引擎有着千丝万缕的联系。模板引擎不只是可以让你实现代码分离(业务逻辑代码和用户界面代码),也可以实现数据分离(动态数据与静态数据),还可以实现代码单元共享(代码重用),甚至是多语言、动态页面与静态页面自动均衡(SDE)等等与用户界面可能没有关系的功能。 二.几个常见的模板引

qq_36350266的博客 3021

总结-NuerIPS2023-Direct Preference Optimization:Your Language Model is Secretly a Reward Model

对比PPO,DPO的泛化能力更强。

m0_60361484的博客 1608

Spring Boot启动器(三)

Spring Boot应用启动器: 1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 2)spring-boot-starter-actuator 帮助监控和管理应用。 3)spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuin...

JMHJAVA的专栏 509

matlab 用m_map画地形水深图

clear,clc %投影 m_proj('albers equal-area','lat',[5 43],'long',[105 125],'rect','on'); %加载水深文件 [CS,CH]=m_etopo2('contourf',[-7000:500:3000],'edgecolor','none'); %绘制高分辨率陆地和海岸线 m_gshhs_h('patch',[0.1 0.9 ...

qq_44913577的博客 9513

通义灵码+高德 MCP:40分钟开发出游攻略网站

本文介绍了通义灵码与高德MCP在40分钟内快速开发出游攻略网站的全流程。主要内容包括:1)LingmaIDE开发环境的使用方法,涵盖界面操作、代码编辑、调试和智能编码功能;2)通义灵码智能体与高德MCP2.0的集成步骤,通过输入旅行需求即可自动生成包含天气卡片、景点路线等元素的HTML页面;3)重点展示了如何将行程规划导入高德地图APP,实现导航、打车等出行功能。整个开发过程充分利用了通义灵码的智能编码能力和高德地图的服务接口,显著提升了旅游类应用的开发效率。

soso1968的博客 986

springboot中Thymeleaf和Freemarker模板引擎的区别

目录前言Thymeleaf和Freemarker的区别配置文件pom.xmlapplication.ymlThymeleafFreemarker后记 前言 这两个都是属于模板引擎,但是各有各的好处, enn,在市面上比较多的也就是jsp、freemarker、velocity、thymeleaf等页面方案。 Thymeleaf和Freemarker的区别 FreeMarker是一个用Java语言编...

旺旺的博客 1万+

数字逻辑Fundamentals of Digital Logic with Verilog Design | 3rd Edition Solutins Chapter 6(step by step)

第六章6-1~6-42习题详解,缺少6-39和6-40

weixin_62651190的博客 1468

Java工具11-Java模板引擎:Thymeleaf与Freemarker

Java模板引擎对比:Thymeleaf与Freemarker 核心差异分析: 语法设计: Thymeleaf采用HTML属性语法(th:text),支持静态原型预览 Freemarker使用独立指令语法(<#if>),需预编译 集成性: Thymeleaf与Spring生态深度集成,是Spring Boot默认引擎 Freemarker作为通用模板引擎,在非Spring场景更灵活 性能表现: Freemarker解析速度更快(字节码预编译) Thymeleaf首次加载较慢但缓存后性能接近 开发

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

YOLOv11改进,YOLOv11引入B2CNet的BFAM(双时相特征聚合模块),JSTARS 2024,二次创新C3k2结构

YOLOv11改进,YOLOv11引入B2CNet的BFAM(双时相特征聚合模块),JSTARS 2024,二次创新C3k2结构

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 408

下采样优化实战:用ADown显著提升YOLOv11的多尺度特征保持能力

ADown 以“可编程梯度信息+多分支特征融合”打破了传统下采样的性能壁垒,为 YOLOv11 带来了多尺度特征的精准传递能力。从原理到代码集成,本教程已为你铺就了一条“小目标检测精度跃升”的实战路径。现在就动手尝试吧——当你看到模型对极小目标也能精准识别,且特征图细节完整时,你会明白这份技术探索的价值。我很乐意在你实践过程中帮你解决任何问题,让我们一起推动目标检测在下采样领域的边界。

FJN110的博客 422

Spring Boot 视图层与模板引擎

摘要:本文介绍了Spring Boot视图层与模板引擎的集成方法,重点讲解了Thymeleaf、Freemarker和Velocity的配置与使用。内容涵盖视图层定义、常用组件、集成步骤以及静态资源管理,通过代码示例展示如何创建实体类、Repository接口和控制器类,并配置模板引擎实现Web页面渲染与数据展示。

编程世界如山海,探索不止。 3万+

YOLO26优化:注意力魔改 | EMA:基于跨空间学习的高效多尺度注意力,效果优于ECA、CBAM、CA

加入EMA注意力,一种基于跨空间学习的高效多尺度注意力,效果优于ECA、CBAM、CA等经典注意力。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 334

第5章 Spring Boot的Web开发 一、Thymeleaf模板引擎

学习目标: 本章首先介绍Spring Boot的Web开发支持,然后介绍Thymeleaf视图模板引擎技术,最后介绍Spring Boot的Web开发技术(JSON数据交互、文件上传与下载、异常统一处理以及对JSP的支持)。通过对本章的学习,掌握Spring Boot的Web开发技术。 学习内容: Thymeleaf模板引擎 Spring Boot处理JSON数据 Spring Boot的文件上传与下载 Spring Boot的异常处理 Spring Boot对JSP的支持 学习时间: 提示:这里可以添

weixin_43820675的博客 1995

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

模板引擎大比拼:Spring Boot集成Freemarker vs Thymeleaf终极指南

想要为你的Spring Boot项目选择最合适的模板引擎吗?🤔 今天我们将深入对比两个最流行的模板引擎:Freemarker和Thymeleaf,帮你做出明智的选择。无论是开发动态网页还是构建RESTful API,选择合适的模板引擎都能显著提升开发效率! ## 📊 两种模板引擎核心特性对比 ### Freemarker:强大的Java模板引擎 - **语法简洁**:使用`${}`表达式,

gitblog_02589的博客 900

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Spring Web MVC的视图技术:JSP、Thymeleaf与Freemarker的对比

在Spring Web MVC框架中,视图技术负责渲染用户界面(UI),将模型数据转换为HTML或其他输出格式。Spring支持多种视图技术,其中JSP、Thymeleaf和Freemarker是最常用的三种。下面我将逐步介绍每种技术的特点,并基于关键维度进行对比分析,帮助您根据项目需求做出选择。回答基于真实的技术实践和社区反馈,确保可靠性。如果您有具体项目需求(如性能要求或团队技能),我可以进一步提供优化建议。

2501_93876910的博客 985

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【Spring Boot系列学习】03.web应用模板引擎(jsp,freemarker,Thymeleaf)

Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依赖。 模板引擎 Spring Boot支持多种模版引擎包括:FreeMarker、Groovy、Thymeleaf(官方推荐)、Mustache、JSP(官方不推荐) jsp官方不推荐原因: t...

剑翊乾坤 625

SpringBoot (二) 整合前端模板引擎FreeMarker、thymeleaf

开发网站的时候,通常会对前后端技术进行选型,前后端分离项目不用多说,正如字面意思,分离开发即可。但是有些项目需要做SEO优化,这就要使网页静态化,优化速度,提高网站在搜索引擎中的权重,尤其在百度是不支持js加载的页面场景中,页面静态化尤为重要,在Spring开发中,就可以使用模板引擎技术来支撑。下面主要介绍:FreeMarker与thymeleaf。

有勇气的牛排博客 1514
上一篇: Spring Boot 系列(四)静态资源处理
下一篇: Spring Boot 系列(六)web开发-Spring Boot 热部署
CAD201213
博客等级 码龄12年 2粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值