首页 > 其他分享 >springboot web开发整合Freemarker 模板引擎

springboot web开发整合Freemarker 模板引擎

时间:2023-10-01 14:04:00浏览次数:56  
标签:web springboot freemarker springframework Freemarker import org 模板 配置文件



目录

  • Freemarker
  • 添加依赖
  • 配置文件yml
  • controller
  • html


Freemarker

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

模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。

官网:
https://freemarker.apache.org/

在线手册:
模板常用语法,可以参考这个中文在线手册,这里不再赘述
http://freemarker.foofun.cn/

springboot web开发整合Freemarker 模板引擎_后端

添加依赖

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

配置文件yml

spring:
  application:
    name: freemarker
  freemarker:
    # 禁用模板缓存
    cache: false
    # 编码格式
    charset: UTF-8
    # freemarker模板后缀 默认是 .ftl
    suffix: .html
    # 是否为此技术启用MVC视图分辨率。
    enabled: true
    # Content-Type值
    content-type: text/html
    # #模板加载路径 按需配置 ,默认路径是 classpath:/templates/
    template-loader-path: classpath:/templates/

当然完全可以不配置 都有自己的默认值

controller

package com.hrp.ecsspringboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;

/**
 * ecsspringboot
 *
 * @Title: com.hrp.ecsspringboot.controller
 * @Date: 2020/6/30 20:26
 * @Author: wfg
 * @Description:
 * @Version:
 */
@Controller
public class FreemarkerController {


    @RequestMapping("/myFreeMarker")
    public String testFreeMarker(Map<String,String> map){
        map.put("name","zhangsan");
        return "myFreeMarker";
    }
}

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
hello, ${name}
</body>
</html>

预览

springboot web开发整合Freemarker 模板引擎_后端_02


标签:web,springboot,freemarker,springframework,Freemarker,import,org,模板,配置文件
From: https://blog.51cto.com/u_15935817/7673855

相关文章

  • springboot 与异步任务,定时任务,邮件任务
    异步任务在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring3.x之后,就已经内置了@Async来完美解决这个问题。SpringBoot实现比较简单主启动类:添加注释......
  • springboot web开发springmvc自动配置原理
    前言我们也知道springboot启用springmvc基本不用做什么配置可以很方便就使用了但是不了解原理,开发过程中遇到点问题估计就比较头疼,不管了解的深不深入,先巴拉一番再说…下面我们先看看官网…我的版本是2.3.2版本,发现官网改动也比较大…不同版本自己巴拉下吧,结构虽然变化了,但......
  • springboot web开发登录拦截器
    在SpringBoot中我们可以使用HandlerInterceptorAdapter这个适配器来实现自己的拦截器。这样就可以拦截所有的请求并做相应的处理。应用场景日志记录,可以记录请求信息的日志,以便进行信息监控、信息统计等。权限检查:如登陆检测,进入处理器检测是否登陆,如果没有直接返回到登陆页面。性......
  • Go每日一库之161:grm(Redis Web管理工具)
    GRM是基于go+vue的web版redis管理工具,部署简单便捷,支持SSH连接,用户校验,操作日志、命令行模式、LUA脚本执行等功能。介绍基于go+vue的web版redis管理工具【Webredismanagementtoolbasedongolangandvue】功能清单管理连接(直连和SSH)、切换DB支持string/lis......
  • SpringBoot框架大晚上报错404--我的路径问题(附上SpringBoot MVC管理系统的简单具体代
    代码application.ymlspring:web:resources:static-locations:classpath:/static/,classpath:/templates/datasource:type:com.alibaba.druid.pool.DruidDataSourceurl:jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf......
  • springboot整合mybatisPlus全技巧(1-整合过程)
    本文基于springboot整合mybatisPlus的各种文章早已烂大街的背景下,根据整合过程,MP开发中的常见技巧,MP开发中遇到的各种坑三个方面,来对这一专题做一个全面且实用的总结,基本上只要你吃透这篇文章,开发中关于mybatisplus你能遇到的问题都能迎刃而解了。整合过程网上对于springboot......
  • WebKit Inside: CSS 样式表解码字符集
    CSS样式表引入有3种方式:外部样式表、内部样式表、行内样式,不同的引入方式,解码样式表的字符集原理不一样。外部样式表外部样式表由link标签引入,当WebKit解析到link标签时就会构造CachedCSSStyleSheet对象。这个对象持有CachedResourceRequest对象和TextResourceDec......
  • CTFer成长记录——CTF之Web专题·[SWPUCTF 2021 新生赛]jicao
    一、题目链接  https://www.nssctf.cn/problem/384二、解法步骤  审计代码:  只需POST传入id=wllmNB,GET传入json=json_encode(array('x'=>'wllm'))即可。  payload:?json={"x":"wllm"},利用hackbar,POST传入id=wllmNB。  拿到flag:三、总结  基本操作。 ......
  • webman:前后端分离上传图片(v1.5.7)
    一,vue:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838......
  • Java:Springboot和React中枚举值(数据字典)的使用
    目录1、开发中的需求2、实现效果3、后端代码4、前端代码5、接口数据6、完整代码7、参考文章1、开发中的需求开发和使用过程中,通常会涉及四个角色:数据库管理员、后端开发人员、前端开发人员、浏览者数据库使用int类型的数值进行存储(eg:0、1、2)Java代码使用enum枚举类型的对象进行......