iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Spring Boot 整合 FreeMarker 实例分享
  • 208
分享到

Spring Boot 整合 FreeMarker 实例分享

2024-04-02 19:04:59 208人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、前言二、FreeMarker 简介三、准备工作环境准备添加 FreeMarker 依赖添加 FreeMarker 相关配置四、编写实体类和 Controller编写实体类编写

一、前言

在之前的文章spring Boot 整合 Thymeleaf 实例分享中,我们学习了如何将模板 Thymeleaf 整合到 Spring Boot 中,那今天我们就来看看,另一个老牌的开源免费模板引擎 - FreeMarker!

二、FreeMarker 简介

FreeMarker 是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(html网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

以上就是出自 FreeMarker 的官方定义,我们通过使用 FreeMarker,可以将我们所需的模板何数据渲染成 HTML,从而实现我们想要的效果。通过将模板与数据分开,让分工更加明确,模板方面则专注于如何将数据进行展现,而在数据方面,我们就可以专注于展示何种数据,下图就是我们以上所描述的 FreeMarker 的功能。

那接下来,我们就来看看,如何将 FreeMarker 像 Thymeleaf 一样整合到我们的 Spring Boot 中,让我们的开发更加简单。

三、准备工作

环境准备

正式开始之前,依然给出本文所基于的环境,避免环境问题可能给大家带来的影响。

添加 FreeMarker 依赖

开始之前,我们需要添加 FreeMarker 的相关依赖,同样这里我们可以选择两种方式。一种是在创建项目时就添加上,另一种则是创建项目后在项目 pom.xml 文件中手动添加,接下来我们分别来看看两种不同的方式应该如何添加。如果还不清楚如何创建 Spring Boot 项目,可以参照我之前的一篇文章:Spring Boot 教程之创建项目的三种方式

  • 第一种

在使用 IDEA 创建 Spring Boot 新项目时,添加依赖时将模板引擎中的 Apache FreeMarker 勾选上。

2.第二种

如果在创建时未添加 FreeMarker 模板引擎依赖,或者在项目开始创建之初并未有此需求,但后续过程中又增加了该需求,则此时可以直接在项目 pom.xml 中手动添加 FreeMarker 依赖即可。

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

添加 FreeMarker 相关配置

添加依赖后,我们需要在项目配置文件 application.yml 中添加 FreeMarker 的相关配置。

spring:
  freemarker:
    # 模板后缀名
    suffix: .ftl
    # 文档类型
    content-type: text/html
    # 页面编码
    charset: UTF-8
    # 页面缓存
    cache: false
    # 模板路径
    template-loader-path: classpath:/templates/

四、编写实体类和 Controller

编写实体类

创建一个 User 类,并将其各种 settergetter、构造方法等完成,这里我依然使用了 Lombok 插件,以便简化我们的代码。关于该插件的更多用法,可以参照我之前的文章:Lombok 安装和使用小技巧

package com.cunyu.springbootfreemarkerdemo.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Component;
@Component
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int age;
    private String name;
    private String email;
}

编写 Controller

这里我们创建一个 User 对象,然后设置其年龄、Email、姓名等相关信息,然后将其加到属性中,方便传输到前端进行展示。

package com.cunyu.springbootfreemarkerdemo.controller;
import com.cunyu.springbootfreemarkerdemo.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.WEB.bind.annotation.GetMapping;

@Controller
public class UserController {
    @GetMapping("/index")
    public String index(Model model) {
        User user = new User();
        user.setAge(26);
        user.setEmail("747731461@qq.com");
        user.setName("村雨遥");
        model.addAttribute("user", user);
        return "index";
    }
}

数据渲染

当完成实体类和 Controller 编写后,我们就可以利用模板来进行展示了。我们在项目的 resources/templates 路进行新建一个 index.ftl 文件,注意这里文件名要保持和 Controller 中 index 方法所返回的字符串一致。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>FreeMarker 实验</title>
</head>
<body>
    <table>
        <tr>
            <td>姓名</td>
            <td>年龄</td>
            <td>Email</td>
        </tr>
        <tr>
            <td>${user.name}</td>
            <td>${user.age}</td>
            <td>${user.email}</td>
        </tr>
    </table>
</body>
</html>

五、总结

我们可以结合之前的文章:Spring Boot 整合 Thymeleaf 实例分享共同阅读,对比 Thymeleaf 和 FreeMarker 在整合过程中的一些共同点和不同点,相信你会有更多的收获。

到此这篇关于Spring Boot 整合 FreeMarker 实例分享的文章就介绍到这了,更多相关Spring Boot 整合 FreeMarker 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Spring Boot 整合 FreeMarker 实例分享

本文链接: http://www.lsjlt.com/news/149445.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring Boot 整合 FreeMarker 实例分享
    目录一、前言二、FreeMarker 简介三、准备工作环境准备添加 FreeMarker 依赖添加 FreeMarker 相关配置四、编写实体类和 Controller编写实体类编写...
    99+
    2024-04-02
  • Spring Boot 整合 Thymeleaf 实例分享
    目录一、什么是 Thymeleaf二、整合过程准备过程添加 Thymeleaf 依赖编写实体类和 Controller创建Thymeleaf 模板三、测试一、什么是 Thymelea...
    99+
    2024-04-02
  • Spring Boot 整合 Reactor实例详解
    目录引言1 创建项目2 集成 H2 数据库3 创建测试类3.1 user 实体3.2 UserRepository3.3 UserService3.4 UserController3...
    99+
    2024-04-02
  • spring boot整合JMS的示例分析
    这篇文章将为大家详细讲解有关spring boot整合JMS的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、安装ActiveMQ具体的安装步骤,请参考我的另一篇文章:https://www.j...
    99+
    2023-05-30
    spring boot jms
  • Spring整合Mybatis实操分享
    目录Mybatis的基本工作原理分析需要解决的问题Spring中Bean的产生过程解决问题总结在介绍Spring整合Mybatis原理之前,我们得先来稍微介绍Mybatis的工作原理...
    99+
    2024-04-02
  • Spring Boot整合mybatis(一)实例代码
    sprig-boot是一个微服务架构,加快了spring工程快速开发,以及简便了配置。接下来开始spring-boot与mybatis的整合。创建一个maven工程命名为spring-boot-entity,pom.xml文件配置如下:&l...
    99+
    2023-05-31
    spring boot 整合
  • spring boot整合hessian的示例
    首先添加hessian依赖<dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifac...
    99+
    2023-05-31
    spring boot hessian
  • Springboot整合FreeMarker的实现示例
    目录一、项目搭建1、新建模块2、导入依赖 :将不相关的依赖删掉3、新建软件包,放入student实体类4、新建StudentMapper接口5、Springboot04Applica...
    99+
    2024-04-02
  • Spring Boot 整合 Canal
    前言 canal 是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。 canal [kə’næl],译意...
    99+
    2023-09-02
    java 数据库 mysql
  • Spring Boot整合邮箱发送邮件实例
    目录1.准备工作2.代码整合总结1. 准备工作 登录进自己的 qq 邮箱获取授权码 设置 – 账户 – POP3/IMAP/SMTP/Exchange/Car...
    99+
    2024-04-02
  • Spring Boot结合P6Spy的实例分析
    这篇文章给大家介绍Spring Boot结合P6Spy的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一:pom.xml 中添加依赖<dependency><groupId>p6spy&...
    99+
    2023-06-05
  • Spring Boot 整合 Fisco Bcos的案例分析(区块链)
    目录简介本地环境主要流程:1、Fisco Bcos环境搭建与验证1.1、搭建单群组4节点联盟链:1.2、检查证书1.3、使用证书验证节点正确性2、创建SpringBoot工程并配置依...
    99+
    2024-04-02
  • Spring Boot 功能整合的实现
    目录前言数据库持久化支持Swagger 文档支持参数校验 JSR303跨域解决整合MongoDB实现文件上传下载删除前言 如果根据之前做的 Nest.js 后端项目功能为标准的话,...
    99+
    2024-04-02
  • Spring Boot 整合 Apache Dubbo的示例代码
    Apache Dubbo是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 注意,是 Ap...
    99+
    2024-04-02
  • Spring boot 整合Logback过程示例解析
    目录前言默认Logback配置自定义Logback文件layout:encoder:rollingPolicy:多环境日志输出总结前言 我们通常使用Spring boot做项目搭建...
    99+
    2023-02-13
    Spring boot整合Logback Springboot Logback
  • Spring boot 整合CXF开发web service示例
    前言说起web service最近几年restful大行其道,大有取代传统soap web service的趋势,但是一些特有或相对老旧的系统依然使用了传统的soap web service,例如银行、航空公司的机票查询接口等。目前就遇到了...
    99+
    2023-05-31
    spring boot cxf
  • Spring boot整合jsp和tiles模板示例
    首先贴上我的pox.xml文件,有详细的支持注释说明 <strong><xml version="1.0" encoding="UTF-8"> <pro...
    99+
    2024-04-02
  • Spring Boot整合WebFlux + R2DBC+Mysql
    Spring Boot整合WebFlux + R2DBC+Mysql 1、R2DBC介绍 R2DBC 基于 Reactive Streams 反应流规范,它是一个开放的规范,为驱动程序供应商和使用方提...
    99+
    2023-09-18
    mysql spring boot java
  • spring boot怎么整合activiti
    这篇文章主要介绍了spring boot怎么整合activiti的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇spring boot怎么整合activiti文章都会有所收获,下面我们一起来看...
    99+
    2023-06-29
  • Spring Boot中整合Spring Security并自定义验证代码实例
    最终效果实现页面访问权限限制 2、用户角色区分,并按照角色区分页面权限 3、实现在数据库中存储用户信息以及角色信息 4、自定义验证代码效果如下: 免验证页面  登陆页面 在用户未登录时,访问任意有权限要求的页面都会自动跳转到登陆页...
    99+
    2023-05-31
    spring security spring boo
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作