Springboot整合FreeMarker

本文详细介绍了如何在Springboot中整合FreeMarker,包括Freemarker的介绍、构建步骤、boolean和date类型的处理、空值处理以及各种指令的使用,如List、sep、if、switch等。
摘要由CSDN通过智能技术生成

目录

一、Freemark介绍

1、freemark介绍

2、freemark构建

1、首先要构建一个freemark工程

 2、导入pom依赖,更改资源文件

3、新建index界面

4、测试:

二、Freemark中booean、date类型

一、boolean类型:

1、c用法:

3、then用法:

二、date类型:

三、空值处理:

1、第一种处理:默认值操作符

 2、第二种处理:不存在值检测操作符 

3、但是当有四个问号时:就会为true

三、Freemark指令

         1、List指令

  2、sep指令:

    3、if指令:

  4、switch指令:

    5、assign指令:

    6、global指令:


一、Freemark介绍

1、freemark介绍

FreeMarker的指令的文件就称为模板(Template)。 
模板设计者不关心数据从那儿来,只知道使用已经建立的数据模型。 
数据模型由程序员编程来创建,向模板提供变化的信息,这些信息来自于数据库、文件,甚至于在程序中直接生成。

2、freemark构建

1、首先要构建一个freemark工程

步骤和之前构建springBoot项目大致相同,但是多了一步就是要勾选模板引擎中的apache freemark

 2、导入pom依赖,更改资源文件

pom依赖:

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

 资源文件:

server:
  port: 8080
spring:
  datasource:
#数据库名称与密码
    username: *****
    password: *****
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/crm?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true
  freemarker:
    #指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
    allow-request-override: false
    #req访问request
    request-context-attribute: req
    #后缀名freemarker默认后缀为.ftl,当然你也可以改成自己习惯的.html
    suffix: .html

    #设置响应的内容类型
    content-type: text/html;charset=utf-8
    #是否允许mvc使用freemarker
    enabled: true
    #是否开启template caching
    cache: false
    #设定模板的加载路径,多个以逗号分隔,默认: [“classpath:/templates/”]
    template-loader-path: classpath:/templates/
    #设定Template的编码
    charset: UTF-8
#显示日志
logging:
  level:
    com.zxy.code.mapper: debug

 注意:

模板加载路径:要放在该路径下

#设定模板的加载路径,多个以逗号分隔,默认: [“classpath:/templates/”]  template-loader-path: classpath:/templates/

3、新建index界面

如果没有模板的话,到设置里面进行新建一个freemark模板

  

然后就到resource下的templates文件生成模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<h1>hello,家人们</h1>
<h1>msg:${msg}</h1>
</body>
</html>

注: <h1>msg:${msg}</h1>会出现波浪线,无法解析变量{msg}

到controller层中写好请求代码

   @GetMapping
    public String index(Model model){
//       1、model
//      2、 moelAndview
       model.addAttribute("msg","你好,老铁");
        return "index";
    }

4、测试:

 新建freemark模板成功 

二、Freemark中booean、date类

           在index.html文件中测试boolean、date类型

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Freemarker是一种模板引擎,可以将数据和模板进行整合生成输出内容。SpringBoot提供了对Freemarker的支持,可以很方便地整合Freemarker。 1. 添加依赖 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> ``` 2. 配置文件 在application.properties文件中添加以下配置: ```properties spring.freemarker.template-loader-path=classpath:/templates/ spring.freemarker.cache=false ``` - template-loader-path:模板文件的路径,这里设置为classpath:/templates/,表示在项目的classpath下的templates目录中查找模板文件。 - cache:是否开启模板缓存,这里设置为false,表示关闭缓存。 3. 创建模板文件 在classpath:/templates/目录下创建一个名为index.ftl的模板文件,内容如下: ```html <!DOCTYPE html> <html> <head> <title>SpringBoot整合Freemarker</title> </head> <body> <h1>${message}</h1> </body> </html> ``` 4. 创建控制器 创建一个名为IndexController的控制器,代码如下: ```java @Controller public class IndexController { @RequestMapping("/") public String index(Model model) { model.addAttribute("message", "Hello, World!"); return "index"; } } ``` 该控制器中,使用@RequestMapping注解指定了请求路径为/,并将一个名为message的属性值设置为“Hello, World!”,然后返回了index作为视图名称。由于配置了spring.freemarker.template-loader-path=classpath:/templates/,所以SpringBoot会在classpath:/templates/目录下查找名为index的模板文件,并将模板文件中的${message}替换为“Hello, World!”。 5. 运行程序 启动应用程序,访问http://localhost:8080/,可以看到页面中显示了“Hello, World!”的字样。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值