Freemarker模板引擎

springBoot整合Freemark(模板引擎) 目录 一、Freemark介绍 1、freemark介绍 2、freemark构建 1、首先要构建一个freemark工程 2、导入pom依赖,更改资源文件 3、新建index界面 4、测试: 二、Freemark中booean、date类型 一、boolean类型: 1、c用法: 2、string用法: 3、then用法: 二、date类型: 三、空值处理: 1、第一种处理:默认值操作符 ​2、第二种处理:不存在值检测操作符 三、Freemark指令 ... 阅读详情

模板引擎

1、什么是模板引擎

根据前边的数据模型分析,课程预览就是把课程的相关信息进行整合,在课程预览界面进行展示,课程预览界面与课程发布的课程详情界面一致,保证了教学机构人员发布前看到什么样,发布后也会看到什么样。

项目采用模板引擎技术实现课程预览界面。什么是模板引擎?

早期我们采用的jsp技术就是一种模板引擎技术,如下图:

1、浏览器请求web服务器

2、服务器渲染页面,渲染的过程就是向jsp页面(模板)内填充数据(模型)。

3、服务器将渲染生成的页面返回给浏览器。

所以模板引擎就是:模板+数据=输出,Jsp页面就是模板,页面中嵌入的jsp标签就是数据,两者相结合输出html网页。

常用的java模板引擎还有哪些?

Jsp、Freemarker、Thymeleaf 、Velocity 等。

本项目采用Freemarker作为模板引擎技术。

Freemarker官方地址:http://freemarker.foofun.cn/

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

2. Freemarker快速入门

下边在内容管理接口层搭建Freemarker的运行环境并进行测试。

在内容管理接口工层 添加Freemarker与SpringBoot的整合包

XML

<!-- Spring Boot 对结果视图 Freemarker 集成 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

我下班是在nacos进行配置的,你们可以在本地进行配置

在nacos为内容管理接口层配置freemarker,新加一个freemarker-config-dev.yaml

 

配置信息如下:

YAML
spring:
  freemarker:
    enabled: true
    cache: false   #
关闭模板缓存,方便测试
    settings:
      template_update_delay: 0
    suffix: .ftl   #页面模板后缀名
    charset: UTF-8
    template-loader-path: classpath:/templates/   #页面模板位置(默认为 classpath:/templates/)
    resources:
      add-mappings: false   #关闭项目中的静态资源映射(static、resources文件夹下的资源)
   

在内容管理接口工程添加freemarker-config-dev.yaml

添加模板,在resources下创建templates目录,添加test.ftl模板文件

HTML

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Hello World!</title>
</head>
<body>
Hello ${name}!
</body>
</html>

编写controller方法,准备模型数据

Java

package com.xuecheng.content.api;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

/**
 * @program: xuecheng-plus-project148
 * @description: freemarker测试
 * @author: Mr.Zhang
 * @create: 2023-03-07 09:55
 **/
@Controller  //因为freemarker返回页面不是json这里使用@Controller
public class FreemarkerController {

    @GetMapping("/testfreemarker")
    public ModelAndView test() {

        ModelAndView modelAndView = new ModelAndView();
        //设置模型数据
        modelAndView.addObject("name","小明");
        //设置视图的名称,就是模板文件的名称(去掉扩展名)
        modelAndView.setViewName("test");
        return modelAndView;
    }
}

启动内容管理接口工程,访问http://localhost:63040/content/testfreemarker

屏幕输出:Hello 小明!

freemarker提供很多指令用于解析各种类型的数据模型,参考地址:http://freemarker.foofun.cn/ref_directives.html

FreeMarker模板引擎:Java动态内容生成利器 模板引擎是现代Web开发中实现动态内容生成的核心组件,其核心原理是通过分离业务逻辑与展示逻辑提升代码可维护性。FreeMarker作为Java生态中的老牌模板引擎,采用纯文本模板+数据模型的架构设计,支持条件判断、循环控制等编程结构,同时具备类型安全处理和多格式输出能力。在技术价值层面,其编译速度比Thymeleaf快30%以上,特别适合合同生成、报表导出等高并发场景。通过模板复用机制和宏定义功能,开发者可以实现UI组件化开发,而内置的HTML转义和缓存机制则保障了企业级应用的安全性与性能。在电商系统等实际 阅读详情

相关推荐

深入掌握Freemarker模板引擎

本文还有配套的精品资源,点击获取 简介:Freemarker是一个用于Web开发的模板引擎,支持动态生成HTML和其他文本输出。本教程深入解释Freemarker的基本概念、语法、与Spring MVC的集成、配置、模板缓存、异常处理,以及高级特性。通过实例代码和项目实践,学习如何在Java Web项目中高效利用Freemarker进行模板设计和数据渲染。 1. Fr...

weixin_34471637的博客 1522

模板引擎——FreeMarker初体验

​ FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于 HTML格式的文本用来自动生成源代码)的通用工具。 它是为 Java 程序员提供的一个开发包或者说是类库。 它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。 详细介绍大家可以自行看官网的介绍 : FreeMarker Java Template Engine ​......

一切总会归于平淡 4315

别再到处找密钥了!手把手教你搞定Halcon 24.11/25.05的试用授权(附每月更新提醒)

本文详细介绍了Halcon 24.11/25.05试用授权的获取与配置方法,包括解密新版授权机制、快速配置指南、每月更新规律及多版本共存管理技巧。帮助开发者避免常见授权问题,提升工作效率,特别适合机器视觉领域的初学者和专业人士。

weixin_29238147的博客 1134

freemarker模版引擎技术总结

FreeMarker语言概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图) FreeMarker不是一个...

JingHaiRoad Coder 1485

【亲测】ubuntu20.4 安装CUDA11.8

一步一步搭建C++ CUDA CUDNN TENSORRT OPENCV DNN ONNXRUNTIME推理环境

weixin_40950590的博客 3894

从萤石云到GB28181:海康4G摄像机接入第三方平台的曲折之路

本文深入探讨了海康4G摄像机接入第三方平台时遇到的协议冲突问题,特别是GB28181与萤石云服务的互斥性。通过技术分析揭示了4G模块的定向流量限制和协议栈资源竞争等核心问题,并提供了有线接入测试和萤石云API二次开发等解决方案。最后总结了设备选型的关键参数和协议兼容性检查清单,为安防监控系统集成提供实用指导。

mango的博客 991

模板引擎技术---FreeMarker

模板引擎是一种用于生成动态内容的工具,它将数据和静态模板结合起来,生成最终的文档(通常是HTML、XML、JSON等格式),这些文档可以被浏览器或其他客户端解析并展示给用户。模板引擎的主要目的是将数据和表现分离,使得在不改变页面结构的情况下,能够动态地生成页面内容。在Web开发中,模板引擎通常用于构建动态网页。当用户访问一个网页时,服务器端的应用程序会处理请求,从数据库或其他数据源获取数据,然后将这些数据插入到事先定义好的模板中,生成最终的HTML页面,然后返回给用户的浏览器。

qq_55272229的博客 1387

别再只盯着meta包了!盘点R语言中7个元分析工具包的特色与适用场景

本文深入评测了R语言中7个主流元分析工具包(meta、metafor、netmeta、mada、mvmeta、metasens、rmeta)的核心功能与适用场景,帮助研究者根据具体需求精准选型。通过对比表格和实际代码示例,详细解析了各工具包在传统两两比较、网络Meta分析、诊断准确性研究等不同场景下的差异化优势,并提供了性能对比和组合使用建议。

weixin_30736301的博客 296

FreeMarker模板引擎

课程介绍 了解模板引擎 掌握FreeMarker常用语法 在servlet中使用freeMarker 什么是模板引擎 数据 + 模板 = 结果 模板引擎将数据与展现有效的解耦 主流模板引擎 JSP FreeMarker Beetl : Beetl是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎, 而是新一代的模板引擎,它功能强大,性能良好,超过当前流行的模板引擎。而且还易学易用。 FreeMarker Freemarker 是免费开源的模板弓|擎技

qq_42537795的博客 736

基于STM32的家庭环境监测毕业设计(全部资料)

本文设计并实现了一套基于STM32的家庭环境监测系统,具备温湿度、烟雾浓度和PM2.5检测功能,通过OLED屏实时显示数据,并能自动或手动控制风扇、加湿器等设备。系统采用分层架构设计,包含数据采集、处理、显示和控制执行模块,经测试性能稳定可靠。研究结果表明,该系统能有效提升家庭环境监测与控制的智能化水平,但仍存在传感器精度和智能化程度不足等问题,未来可进一步优化硬件配置并引入AI算法提升性能。

3254968421的博客 461

[PCIe5.0] 5.3.1.4.2 D3Cold State

主电源(Vcc)完全断开,仅保留极少量辅助电源(Vaux)用于维持基本唤醒功能设备功能完全关闭,所有寄存器状态丢失(除非有特殊存储)需要完全重新初始化才能恢复工作比D3Hot状态功耗更低,但唤醒延迟更长。

系统固件工程师 452

freemarker模板引擎

FreeMarker 是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网 页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一 款程序员可以嵌入他们所开发产品的组件。模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是像PHP那样成熟的编程语言。那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。

#helloworld的博客 1079

高通平台开发系列讲解(系统篇)系统关机流程

📢本篇章主要图解高通平台系统关机流程。

内核笔记 3211

JAVA模板引擎之Freemarker

什么是Freemarker呢

xindongyuni666的博客 1650

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Freemarker 模板引擎

Freemarker 模板引擎 1. FreeMarker介绍 freemarker是一个用Java开发的模板引擎 常用的java模板引擎还有哪些? Jsp、Freemarker、Thymeleaf 、Velocity 等。 模板+数据模型=输出 freemarker并不关心数据的来源,只是根据模板的内容,将数据模型在模板中显示并输出文件(通常为html,也 可以生成其它格式的文本文件) ...

at10090的博客 689

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

模板引擎FreeMarker

1 freemarker 介绍 FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数

qq_45228323的博客 2036

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

模板引擎:FreeMarker

FreeMarker 是一种功能强大的模板引擎,主要用于生成动态文本输出,如网页、电子邮件、配置文件等。它支持变量、表达式、循环、条件判断等编程结构,能够灵活处理数据并生成动态内容。FreeMarker 与 Java 集成良好,可轻松用于生成 HTML、XML 等文本格式,并支持与 Spring、Struts 等框架集成。其工作原理基于模板文件和数据模型,通过模板引擎解析并生成最终输出。使用步骤包括引入 FreeMarker 库、创建模板文件、准备数据模型、配置 FreeMarker 并生成输出。

weixin_62307424的博客 1205

JavaEE进阶——FreeMarker模板引擎

I. 简介 FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 模板编写为FreeMarker Template Language (FTL)。 在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于...

等一杯咖啡的博客 2万+

模板引擎与Freemarker

模板引擎的目标是“数据+模板=结果”模板引擎将数据与展现有效“解耦”

日常记录 477

Freemarker模板引擎技术

问题】当渲染文章数据时,由于文章的数据很多,直接去查询文章内容表的话,效率比较低。解决】使用freemarker将文章的内容通过模板技术生成静态的html文件存储到minio中,这样用户就只需要拿着minio的url去minio里获取静态页面即可。效率大大提高。

qq_57882997的博客 1700

模板引擎-FreeMarker

FreeMarker 什么是模板引擎 模板引擎的目标是“数据+模板=结果” 模板引擎将数据与展现有效”解耦“ 主流模板引擎 Java Server Page:运行效率高 Freemarker:比jsp轻量,开发速度快,上手简单 Beetl:融合了jsp和Freemarker优点,运行效率比FreemMarker高,开发简单 ...

qq_32091929的博客 907

springboot整合Freemarker模板引擎

即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。FreeMarker 是。根据前边的数据模型分析,课程预览就是把课程的相关信息进行整合,在课程预览界面进行展示,课程预览界面与课程发布的课程详情界面一致,保证了教学机构人员发布前看到什么样,发布后也会看到什么样。在进行课程预览时需要展示课程的图片,在线插放课程视频,课程图片、视频这些都在MinIO文件系统存储,下边统一由Nginx代理,通过文件服务域名统一访问。

weixin_60257072的博客 1542

freemarker 模板引擎详解

​ FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。​ 模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言,不是像PHP那样成熟的编程语言。那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。

weixin_44213835的博客 1592
上一篇: FFmpeg视频处理
下一篇: 分布式事务问题
Relievedz
博客等级 码龄5年 255粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值