SpringBoot入门:SpringBoot整合Freemarker和Thymeleaf模板

简介: 关于springboot项目的创建可以看下面这篇文章,这里不进行叙述,可以参考之前的文章SpringBoot入门:使用IDEA和Eclipse构建第一个SpringBoot项目。

1、引言


关于springboot项目的创建可以看下面这篇文章,这里不进行叙述,可以参考之前的文章SpringBoot入门:使用IDEA和Eclipse构建第一个SpringBoot项目


2、Freemarker模板


首先在pom文件中引入freemarker的依赖,代码如下:


<!-- Spring Boot Freemarker 依赖 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
复制代码


然后在com.example.demo文件夹下新建一个controller文件夹,新建FreemarkerController类,代码如下:


package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class FreemarkerController {
  @RequestMapping(value="/freemarker",method = RequestMethod.GET)
  public String freemarker(Model model) {
    model.addAttribute("name", "李青");
    model.addAttribute("age", 22);
    model.addAttribute("id", 223);
    return "freemarker";
  }
}
复制代码


在application.yml文件中配置freemarker,修改的yml文件,新建默认的是application文件,yml配置如下:


#yml和property文件功能一样都是配置设置,比如数据库、端口号等等,但是yml的
#结构是树状结构比较明朗,而且相同的内容因为是树状展示不用重复写
#但是如果项目中两个文件同时存在则优先加载property,yml的配置无效
#注意,eclipse中yml文件用tab键进行缩进,会报错。
spring
  freemarker:
#  prefix: classpath:/templates/
    suffix: .ftl
    content-type: text/html
    template-loader-path: classpath:/templates
复制代码


   在templates文件夹下新建freemarker.ftl文件,代码如下:


<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<body>
    姓名:${name}<br><br>
    年龄:${age}<br><br>
    编号:${id}<br><br>
</body>
</html>
复制代码


启动项在浏览器地址栏输入,http://localhost:8080/freemarker页面结果如下:


42d478522bba40f980da107179af9d73~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg

freemarker页面模板创建完成!

3、Thymeleaf模板


同样在pom文件中引入thymeleaf依赖,代码如下:


<!--引入thymeleaf的依赖 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
复制代码


在controller文件夹下新建ThymeleafController类,代码如下


package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ThymeleafController {
  @RequestMapping("/thymeleaf")
  public String test(Model model) {
    model.addAttribute("name", "李青");
    model.addAttribute("age", 22);
    model.addAttribute("id", 223);
    return "thymeleaf";
  }
}
复制代码


在application.yml文件中配置thymeleaf,代码如下:


spring:
  thymeleaf:
    prefix: classpath:/templates/
    suffix: .html
    mode: HTML5
    encoding: UTF-8
    cache: false
    content-type: text/html
复制代码


然后在templates文件夹下新建thymeleaf.html页面文件,代码如下:


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
    姓名:<input type="text" th:value="${name}"><br/>
    年龄:<input type="text" th:value="${age}"><br/>
    编号:<input type="text" th:value="${id}"><br/>
</body>
</html>
复制代码


启动项目,在浏览器地址栏输入,http://localhost:8080/thymeleaf,页面结果如下:


eb71d7a59b65455a9c8b0fff04fa4e7a~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


thymeleaf页面模板创建完成!


总结


本文主要介绍了springboot如何使用freearker和thymeleaf模板高效的创建页面。

目录
相关文章
|
5天前
|
SQL JSON Java
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
本文为Spring Boot增删改查接口的小白入门教程,介绍了项目的构建、配置YML文件、代码编写(包括实体类、Mapper接口、Mapper.xml、Service和Controller)以及使用Postman进行接口测试的方法。同时提供了SQL代码和完整代码的下载链接。
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
|
5月前
|
XML JavaScript 前端开发
springboot配合Freemark模板生成word,前台vue接收并下载【步骤详解并奉上源码】
springboot配合Freemark模板生成word,前台vue接收并下载【步骤详解并奉上源码】
|
2月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
60 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
2月前
|
前端开发 IDE Java
"揭秘前端转Java的秘径:SpringBoot Web极速入门,掌握分层解耦艺术,让你的后端代码飞起来,你敢来挑战吗?"
【8月更文挑战第19天】面向前端开发者介绍Spring Boot后端开发,通过简化Spring应用搭建,快速实现Web应用。本文以创建“Hello World”应用为例,展示项目基本结构与运行方式。进而深入探讨三层架构(Controller、Service、DAO)下的分层解耦概念,通过员工信息管理示例,演示各层如何协作及依赖注入的使用,以此提升代码灵活性与可维护性。
38 2
|
2月前
|
消息中间件 Java Kafka
Spring Boot与模板引擎:整合Thymeleaf和FreeMarker,打造现代化Web应用
【8月更文挑战第29天】这段内容介绍了在分布式系统中起到异步通信与解耦作用的消息队列,并详细探讨了三种流行的消息队列产品:RabbitMQ、RocketMQ 和 Kafka。RabbitMQ 是一个基于 AMQP 协议的开源消息队列系统,支持多种消息模型,具有高可靠性及稳定性;RocketMQ 则是由阿里巴巴开源的高性能分布式消息队列,支持事务消息等多种特性;而 Kafka 是 LinkedIn 开源的分布式流处理平台,以其高吞吐量和良好的可扩展性著称。文中还提供了使用这三种消息队列产品的示例代码。
23 0
|
4月前
|
Java 关系型数据库 MySQL
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
39 4
|
4月前
|
Java 应用服务中间件 Maven
Springboot入门基础知识详解 parent starter 引导类 辅助功能
Springboot入门基础知识详解 parent starter 引导类 辅助功能
43 2
|
4月前
|
Java 程序员
浅浅纪念花一个月完成Springboot+Mybatis+Springmvc+Vue2+elementUI的前后端交互入门项目
浅浅纪念花一个月完成Springboot+Mybatis+Springmvc+Vue2+elementUI的前后端交互入门项目
45 1
|
5月前
|
安全 Java 数据库连接
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
1011 6
|
5月前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例