springboot使用FreeMarker

本文介绍了如何在SpringBoot项目中集成FreeMarker模板,包括添加依赖、配置模板属性、创建Controller进行测试,以及FreeMarker的通用赋值、数值赋值、内建函数和指令等内容。
摘要由CSDN通过智能技术生成

刚刚介绍了Thymeleaf模板,接下来我们学习FreeMarker模板,无论是语法还是配置等,两者都有很多相似的地方。接下来,我们学习Spring Boot项目整合FreeMarker模板。

新建项目,在项目中加入Freemarker依赖,如代码

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

接下来配置FreeMarker模板属性,与Thymeleaf模板配置类似,唯一需要注意的是模板文件后缀配置的是FTL文件。配置文件如代码

server.port=8089
#缓存是否开启
spring.freemarker.cache=false
#编码格式
spring.freemarker.charset=UTF-8
#模板文件前缀
spring.freemarker.template-loader-path=classpath:/templates/
#模板文件后缀
spring.freemarker.suffix=.ftl

接下来,创建一个IndexController进行测试,内容如代码

package com.shrimpking.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Shrimpking
 * @create 2023/12/21 10:45
 */
@Controller
public class IndexController
{
    @GetMapping("/")
    public String index(ModelMap modelMap){
        modelMap.addAttribute("msg","hello,freemarker");
        return "index";
    }
}

在src/resources/templates下新建index.ftl(注意文件后缀),使用${msg}接收后来传送的数据,文件内容如代码

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

到这里,项目配置完成。启动项目,在浏览器上访问http://localhost:8089,可以看到如下结果:

 

 接下来介绍FreeMarker的常用语法。

(1)通用赋值:${xxx}格式

• 比如后台返回键值aaa=string,可以使用${aaa?string},输出“Hi , Dalaoyang !”。

• 比如后台返回键值aaa="2018-08-01 23:59",可以使用${aaa?string("EEE,MMM d,yy")},输出:星期二,八月 14,18。

• 比如后台返回键值aaa=false,可以使用${aaa?string("是","否")},输出:否。

(2)数值赋值:#{xxx}或者#{xxx;format}格式后者format可以是以下格式(其中X和Y为数字):

• mX 小数部分最小X位,比如后台返回值aaa=3.782131,可以使用#{x;m2},输出3.78。

• MX 小数部分最大X位,比如后台返回值aaa=3.782131,可以使用#{x;M3},输出3.782。

• mXMY 小数部分最小X位,最大Y位,比如后台返回值aaa=3.782131,可以使用#{x;m1M3},输出3.782。

(3)常用内建函数

• html 对字符串进行HTML编码。

• lower_case 字符串转小写。

• upper_case 字符串转大写。

• trim 去前后空格。

• size 获取集合元素数量。

• int 获取数字部分。

(4)常用指令

• if elseif else 分支控制语句。

• list 输出集合数据。

• import 导入变量。

• include 类似于包含指令。

关于FreeMarker模板的内容到这里暂时结束了,毕竟这是一本关于Spring Boot的书,详细内容可以参考官方文档进行系统学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾米大王

有你的支持,我会更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值