SpringBoot系列:Spring Boot使用模板引擎Thymeleaf

值年神李丙
• 阅读 5384

一、Java模板引擎

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。

在java中,主要的模板引擎有JSP、Thymeleaf、FreeMarker、
Velocity等。

虽然随着前后端分离的崛起和流行,模板引擎已遭受到冷落,但不少旧项目依然使用java的模板引擎渲染界面,而偶尔自己写一些练手项目,使用模板引擎也比起前后端分离要来的快速。

本系列会分别讲解SpringBoot怎么集成JSP、Thymeleaf和FreeMarker,至于Velocity,高版本的SpringBoot已经不支持Velocity了,这里也就不进行讲解了。

而这一篇,主要讲解Spring Boot如何集成Thymeleaf。

一、Spring Boot集成Thymeleaf

首先我们要引入依赖,除了核心的web依赖外,只需引入thymeleaf的statrer即可。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- thymeleaf模板 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

然后就是配置文件了。spring.thymeleaf下配置视图文件目录prefix以及文件后缀suffix,如果是本地开发,cache可以设置为false关闭缓存,避免修改文件后需要重新启动服务。

server:
  port: 10900

spring:
  profiles:
    active: dev
  thymeleaf:
    prefix: classpath:/templates/
    check-template-location: true #是否检查模板位置是否存在
    suffix: .html
    encoding: utf-8 #模板编码
    servlet:
      content-type: text/html
    mode: HTML5
    cache: false #禁用缓存,本地开发设置为false,避免修改后重启服务器

然后resoucres目录下新建templates目录,分别新建了hello.html和mv.html文件。

<h3>hello thymeleaf</h3>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
    <h3>mv thymeleaf</h3>
    <span>I'm <span th:text="${name}"></span> from mv method</span>
</html>

这里主要讲解如何集成Thymeleaf,不对Thymeleaf语法做过多的讲解,所以仅仅提供了两个简单的html文件作为演示。

接着再创建Controller类路由页面,该类十分简单,跳转hello页面,以及携带name=imyang跳转mv页面。

@Controller
@RequestMapping("index")
public class IndexApi {

    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }

    @RequestMapping("/mv")
    public ModelAndView mv(){
        ModelAndView mv = new ModelAndView("mv");
        mv.addObject("name","yanger");
        return mv;
    }

}

启动项目,分别访问http://localhost:10900/index/hello和http://localhost:10900/index/mv,可以看到已经可以展示页面信息了。

SpringBoot系列:Spring Boot使用模板引擎Thymeleaf

源码地址:https://github.com/imyanger/s...

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Spring Boot(三):Thymeleaf 使用详解
在上篇文章SpringBoot(二):web应用开发,实现CRUD(https://my.oschina.net/u/4006148/blog/3163419)中简单介绍了一下Thymeleaf,这篇文章将更加全面详细的介绍Thymeleaf的使用。Thymeleaf是新一代的模板引擎,在Spring4.0中推荐使用Thymeleaf来
Stella981 Stella981
3年前
SpringBoot获取Freemarker模板引擎,生成HTML代码
今天用Ajax异步添加评论,加载Freemarker模板引擎,生成模板模块1.新建Freemarker模板<liid"${comment.oId}"<div<divclass"avatartooltippedtooltippedn"ariala
Wesley13 Wesley13
3年前
Java 复杂excel报表导出
MyExcel,是一个可直接使用Html文件,或者使用内置的Freemarker、Groovy、Beetl等模板引擎Excel构建器生成的Html文件,以Html文件中的Table作为Excel模板来生成任意复杂布局的Excel的工具包,支持.xls、.xlsx格式,支持对背景色、边框、字体等进行个性化设置,支持合并单元格。Github:https:/
Stella981 Stella981
3年前
SpringBoot使用JavaMailSender发送邮件(2)
为了更容易更规范维护邮件内容,我们推荐使用模板引擎技术。常用的模板引擎有这几种Thymeleaf、FreeMarker、Velocity等。我们在这里就使用前面两种来实现发送邮件。一、使用Thymeleaf模板技术发送邮件Thymeleaf是SpringBoot推荐的官方模板引擎技术,使用非常的简单方便。(1)添加依赖
Easter79 Easter79
3年前
SpringBoot系列教程web篇之Beetl环境搭建
前面两篇分别介绍了目前流行的模板引擎Freemaker和Thymeleaf构建web应用的方式,接下来我们看一下号称性能最好的国产模板引擎Beetl,如何搭建web环境本文主要来自官方文档,如有疑问,推荐查看:http://ibeetl.com/guide/beetl(https://www.oschina.net/action/GoToLi
Easter79 Easter79
3年前
SpringBoot使用JavaMailSender发送邮件(2)
为了更容易更规范维护邮件内容,我们推荐使用模板引擎技术。常用的模板引擎有这几种Thymeleaf、FreeMarker、Velocity等。我们在这里就使用前面两种来实现发送邮件。一、使用Thymeleaf模板技术发送邮件Thymeleaf是SpringBoot推荐的官方模板引擎技术,使用非常的简单方便。(1)添加依赖
Stella981 Stella981
3年前
Freemark(一): 简介及其使用
1\.Freemark简介FreeMarker是一款模板引擎:一种基于魔板的、用来生成输出文本的通用工具。类似模板引擎还有Velocity,CommonTemplate等。对于javaweb开发来说,使用FreeMarker模板,可以将java代码从页面中分离出来。开发人员只需关注业务逻辑代码,而由页面设计人员去设
Stella981 Stella981
3年前
SpringBoot系列教程web篇之Beetl环境搭建
前面两篇分别介绍了目前流行的模板引擎Freemaker和Thymeleaf构建web应用的方式,接下来我们看一下号称性能最好的国产模板引擎Beetl,如何搭建web环境本文主要来自官方文档,如有疑问,推荐查看:http://ibeetl.com/guide/beetl(https://www.oschina.net/action/GoToLi
Easter79 Easter79
3年前
SpringBoot获取Freemarker模板引擎,生成HTML代码
今天用Ajax异步添加评论,加载Freemarker模板引擎,生成模板模块1.新建Freemarker模板<liid"${comment.oId}"<div<divclass"avatartooltippedtooltippedn"ariala
Stella981 Stella981
3年前
Beetl2.8 中文文档
1\.什么是BeetlBeetl目前版本是2.8.5,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点。使得开发和维护模板有很好的体验。是新一代的模板引擎。总得来说,它的特性如下:功能完备:作为主流模板引擎,Beetl具有相当多的功能和其他模板引擎不具备的功能。适用于_各种应用场景_,从对响
Wesley13 Wesley13
3年前
TDD两小时实现自定义表达式模板解析器
为什么要重新造一个车轮?很多情况下,用户需要按其自定义模板动态生成邮件、PDF。开源组件中,有两类较贴合需求的产品系列:1.模板渲染引擎,如FreeMarker,Velocity虽然强大异常,但是过于灵活,不利于按需裁减出自己想要的少量语法;2.纯字符串模板引擎,要么取数据不够动态(需要提前预知有哪些变量),或者是语法冗长